Как фиксировать запросы url, сделанные моим маршрутизатором?

Я пытаюсь развернуть свою собственную службу динамического DNS на Dreamhost, и, следуя некоторым руководствам, удалось добиться идеальной работы на стороне сервера - когда я открываю URL-адрес, DNS-запись A для поддомена обновляется.

Но когда я помещаю данные в маршрутизатор и пытаюсь заставить его работать (следуя стандартам dyndns или no-ip), маршрутизатор не обновляется.

Вот что у меня есть: 1. Серверная часть работает так, как я ожидал. 2. Маршрутизатор работает при использовании служб по умолчанию (проверено с no-ip) для обновления IP. 3. Если я не смогу пройти аутентификацию на моем сервере, тогда маршрутизатор выдаст ошибку аутентификации - он обращается к серверу и аутентифицируется. 4. Пытался вести журнал, чтобы увидеть, есть ли вообще доступ к сценарию, но это не так.

Поэтому я думаю, что маршрутизатор запрашивает URL-адрес, отличный от ожидаемого. Я пробовал с /, белым / update / и с / nic / update /

На этом этапе я хотел увидеть, что на самом деле запрашивает маршрутизатор. Запустил XAMPP, установил Wireshark и попытался настроить маршрутизатор для обновления моего собственного компьютера. Нашел запросы и нашел ответ 301, так как маршрутизатор запрашивает / nic / update? и он у меня в / nic / update / ?.

Браузер прозрачно обрабатывает это перенаправление, но маршрутизатор, похоже, не запрашивает новый URL. Может, нужно возиться с mod_rewrite?

0
0
353
1

Ответы 1

Как и предполагалось, маршрутизатор воспринял перенаправление как плохой ответ. После того, как я поигрался с mod_rewrite, он заработал.

Использовал это:

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.cgi [L]

Другие вопросы по теме