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

nginx: используйте модуль geo с доменом вместо IP

Я использую nginx для размещения WordPress. Естественно, я хочу защитить страницы wp-admin и wp-login.php, чтобы они были доступны только для предварительно авторизованных серверов.

В моих доступных сайтах я определяю разрешенные IP-адреса. А позже с помощью переменной $ wpadmin, чтобы разрешить / запретить страницу wp-admin:

geo $wpadmin {
    default 0;
    1.2.3.4 1;
}

Теперь моя проблема в том, что IP «1.2.3.4» является динамическим, и мне приходится обновлять конфигурацию каждый раз, когда она изменяется. Вместо этого я бы хотел использовать домен, например динамический DNS "example.no-ip.com"

Любая помощь в разрешении имени хоста и использовании результата приветствуется.

Я мог бы сделать небольшой скрипт, который проверяет мой DNS каждые x минут и при необходимости перезаписывает файл конфигурации с новым IP и перезагружает конфигурацию nginx. Однако это будет не изящно, и для обеспечения безопасности необходимо уделить внимание владению / разрешениям скриптов.

Это было бы возможно с rdns модуль.

Он может выполнять обратный поиск DNS для удаленного IP-адреса, и впоследствии вы можете разрешить / запретить на основе входящего имени хоста.