Você não configurou (ou tentou usar) um proxy HTTP, nem um túnel ssh. Em vez disso, você usou o encaminhamento de porta por ssh.
Encaminhar portas TCP não funciona para HTTP. Visitando um URL HTTP usa o domínio do URL em dois pontos diferentes. 1 - para encontrar o endereço IP para o envio de mensagens. 2 - para o cabeçalho do host na mensagem HTTP. Isso permite que um endereço IP exiba sites para vários domínios.
Portanto, quando você visitar http://localhost:9999/
, a mensagem HTTP incluirá uma linha de cabeçalho Host: localhost:9999
. O servidor da Web GNU não veicula um site chamado localhost:9999
e nega acesso (403).
(O 403 é spec-legal. Em teoria, 403 é um pouco indelicado e você deve preferir 400 com uma mensagem. Pessoalmente eu usei 403 em meu site DynDNS trivial. Não por segurança conforme a especificação, mas porque FORBIDDEN é um sinal tão bom e strong para a solução de problemas.Espero que seja strong o suficiente para negar a impressão de que meu servidor web interceptou o deles (em caso de cache DNS desatualizado, por exemplo).
A abordagem conveniente é usar a opção "encaminhamento dinâmico de porta" do SSH -D
, que configura um proxy SOCKS. Infelizmente wget não tem uma opção para um proxy SOCKS ( curl
faz embora).