Como foi discutido, ssh -L 8080:localhost:80 [email protected]
não inicia um servidor proxy mágico no lado do cliente, ele simplesmente encaminha a porta do cliente 8080 para a porta 80 do servidor. É necessário obter o navegador da web do cliente para conectar-se à porta 8080 do cliente. que, como outros e eu mesmo, envolve apontar o navegador da Web do cliente em http://localhost:8080/
.
Seu novo problema é que o servidor está executando vários hosts virtuais baseados em nome e você não recebe o host correto quando não o solicita do servidor na URL, o que é razoável o suficiente.
O mais simples é dizer ao seu cliente para acessar o site pelo nome, mas para obter o sistema operacional para mentir para o navegador sobre o endereço IP que o host resolve. Vamos supor que você queira acessar os hostsvsite1.example.com
e vsite2.example.org
, que estão sendo veiculados na porta 80 no servidor, através do túnel SSH que já configuramos.
Edite seu arquivo lado do cliente /etc/hosts
para informar ao sistema operacional que esses nomes de host resolvem para 127.0.0.1
, com entradas como
127.0.0.1 localhost localhost.localdomain vsite1.example.com vsite2.example.org
Acredito que existem hacks correspondentes para o Windows, mas não sei o que são, já que nunca uso.
Agora você pode apontar o navegador do cliente em http://vsite1.example.com:8080/
, o sistema operacional do cliente dirá ao navegador que está no host local, a URL apontará o navegador para a porta local 8080, ssh conduzirá os pacotes sub rosa para a porta 80 do servidor, e o navegador do cliente solicitará ao servidor web do servidor o vhost correto.