
Às vezes precisamos acessar um ou mais de nossos roteadores fora do escritório. Fazer isso em nosso site seria muito útil. Nosso servidor executa o Apache no servidor Windows 2008. Como atende alguns domínios, foram feitas alterações no arquivo httpd-vhosts.conf:
ProxyRequests Off
ProxyPreserveHost On
<Location "/router/">
ProxyPass http://192.168.1.40/
ProxyPassReverse http://192.168.1.40/
</Location>
Ao navegar parahttp://www.ourdomain.com/router/a página de login realmente aparece, mas faltam algumas imagens e o botão de login (imagem para). Após o login aparece uma bagunça completa de "proibido".
Parece que a diretiva ProxyPreserveHost foi completamente ignorada. Há algo errado com a modificação acima? Estamos entendendo mal alguma coisa? Poderia ser devido ao fato de a página principal do roteador ser construída usando javascript e algo mais precisar ser configurado? Para sua informação, após o login no próprio roteador, o URL não muda (permanecehttp://192.168.1.40)
A página de login conforme aparece de fora:
A página de login correta:
A página principal do roteador após login externo:
Responder1
Acho que o TP-Link Archer C2 também verifica o referenciador e dá 403 se não corresponder ao IP interno do seu roteador. Essa é uma medida de segurança para evitar que sites carreguem conteúdo do roteador.
Tente modificar o cabeçalho manualmente no seu proxy reverso:
<Location "/router/">
ProxyPass http://192.168.1.40/
ProxyPassReverse http://192.168.1.40/
Header add referer "http://192.168.1.40/"
RequestHeader set referer "http://192.168.1.40/"
</Location>
Observe que sua configuração revela a interface de configuração da web com todos os possíveis problemas de segurança para a rede externa, já que o firmware do roteador normalmente não é atualizado automaticamente. É bom que você já tenha o TLS habilitado na conexão, mas você também pode querer adicionar algum nível extra de autenticação antes da página de login do próprio roteador.