Назад | Перейти на главную страницу

Apache ProxyPass для маршрутизатора TP-Link

Иногда нам нужно получить доступ к одному или нескольким маршрутизаторам из-за пределов офиса. Сделать это с нашего веб-сайта было бы очень удобно. На нашем сервере работает Apache под Windows 2008 server. Поскольку он обслуживает несколько доменов, в файл 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 и нужно что-то еще настроить? К вашему сведению, после входа в сам роутер URL не меняется (остается http://192.168.1.40)

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

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

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

Я думаю, что 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 для подключения, но вы также можете добавить дополнительный уровень аутентификации перед собственной страницей входа в маршрутизатор.