Eu usei sslh
. Funciona muito bem.
Eu estou querendo saber se é possível redirecionar solicitações através do Apache para, por exemplo. OpenVPN.
Contanto que eu precise contornar o firewall, eu preciso usar a porta 80/443 para o openVPN, mas há o servidor Apache que tem ambas as portas para si.
Client ---> Firewall (allows 80/443 only) --->| ---> Apache (80/443) ---> OpenVPN (1194) |
--------------------------------------------
My Server
Eu estava pensando em mod_proxy, mas não tenho certeza se é uma boa idéia, você tem alguma idéia?
Espero que uma possível solução também seja aplicável no host virtual.
O problema de compartilhamento de portas - poderia ser resolvido na direção oposta, fazendo o Apache escutar na porta, digamos, 10443 e encaminhando solicitações do OpenVPN com a opção de compartilhamento de porta. (via)
port 443
port-share localhost 10443
Você não pode usar a mesma porta para vários serviços. Assim, você pode manter o apache rodando em uma porta 80 ou 443, mas não em ambas. A outra porta pode ser usada para encaminhar solicitações para o servidor openvpn.
Você pode tentar o encaminhamento de porta usando o SSH. Dê uma olhada no este link . Você pode encaminhar a porta 80 no servidor para abrir a porta VPN. Claro, você precisa alterar a porta usada pelo cliente openvpn.
A solução mais simples seria obter um segundo ip no servidor e o OpenVPN ouvir a porta 443 nesse ip.
Não se esqueça, o mod_proxy é para solicitações HTTP e HTTPS, e o OpenVPN não suporta o protocolo como um transporte.
O saca-rolhas permite encapsular o SSH em um proxy SSL. Ele poderia ser usado em conjunto com o encaminhamento de porta SSH que Khaled mencionou se conseguir um ip extra não é uma opção.
O pacote httptunnel deve ajudar a resolver seu problema. A fonte está disponível em ftp://ftp.gnu.org/pub/httptunnel
No servidor:
Você precisará configurar um vhost com o mod_proxy para a porta 8888
No cliente:
Tags proxy openvpn apache-2.2