Apache ProxyPass на маршрутизатор TP-Link

Apache ProxyPass на маршрутизатор TP-Link

Иногда нам нужно получить доступ к одному или нескольким нашим маршрутизаторам извне офиса. Было бы очень удобно сделать это с нашего веб-сайта. Наш сервер работает на Apache под управлением Windows 2008. Поскольку он обслуживает несколько доменов, были внесены изменения в файл httpd-vhosts.conf:

ProxyRequests Off  
ProxyPreserveHost On  

<Location "/router/">  
  ProxyPass        http://192.168.1.40/  
  ProxyPassReverse http://192.168.1.40/  
</Location>  

При просмотреhttp://www.ourdomain.com/router/страница входа действительно появляется, но на ней отсутствуют некоторые изображения и кнопка (изображение для) входа. После входа появляется полная мешанина "запрещено".

Похоже, что директива ProxyPreserveHost была полностью проигнорирована. Что-то не так с вышеуказанной модификацией? Мы что-то не понимаем? Может ли это быть связано с тем, что главная страница маршрутизатора создана с использованием javascript и нужно настроить что-то еще? FYI после входа в сам маршрутизатор URL не меняется (остаетсяhttp://192.168.1.40)

Страница входа, как она выглядит снаружи:

Страница входа, как она выглядит снаружи

Правильная страница входа:

Правильная страница входа

Главная страница роутера после входа извне:

Главная страница роутера после входа извне

решение1

Я думаю, что TP-Link Archer C2 также проверяет реферер и выдает 403, если он не совпадает с внутренним IP вашего маршрутизатора. Это мера безопасности, которая не позволяет веб-сайтам загружать контент с маршрутизатора.

Попробуйте вручную изменить заголовок на обратном прокси-сервере:

<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>  

Обратите внимание, что ваша настройка показывает веб-интерфейс конфигурации со всеми его возможными проблемами безопасности для внешней сети, поскольку прошивка маршрутизатора обычно не обновляется автоматически. Хорошо, что у вас уже включен TLS для подключения, но вы также можете захотеть добавить дополнительный уровень аутентификации перед собственной страницей входа маршрутизатора.

Связанный контент