Apache ProxyPass para roteador TP-Link

Apache ProxyPass para roteador TP-Link

À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 conforme aparece de fora

A página de login correta:

A página de login correta

A página principal do roteador após login externo:

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.

informação relacionada