Многие сталкиваются с тем, что в сетях достаточно часто запрещены исходящие соединения методом CONNECT к портам отличным от 443, что создает определенные трудности для VPN-клиентов. Поэтому возникает необходимость использовать для VPN сервера TCP-порт 443.
Если на хосте запущен HTTPS-сервер, то встает вопрос как заставить работать OpenVPN совместно с веб-сервером. Оказывается, разработчики OpenVPN об этом позаботились. Начиная с версии OpenVPN 2.1.1 появилась опция port-share, которая как раз позволяет OpenVPN-серверу использовать совместно с HTTPS-сервером один и тот же TCP-порт.
Для настройки этой возможности, необходимо HTTPS-сервер перевесить на другой порт (например 4443) и в конфигурационный файл OpenVPN сервера добавить опции:
port 443
port-share 127.0.0.1 4443
После перезапуска OpenVPN сервера он должен начать проксировать соединения не содержащие OpenVPN протокол на адрес:порт указанные в параметре port-share.
Выдержка из man:
–port-share host port When run in TCP server mode, share the OpenVPN port with another application, such as an HTTPS server. If OpenVPN senses a connection to its port which is using a non-OpenVPN protocol, it will proxy the connection to the server at host:port. Currently only designed to work with HTTP/HTTPS, though it would be theoretically possible to extend to other protocols such as ssh.