Я использую 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-адреса, и впоследствии вы можете разрешить / запретить на основе входящего имени хоста.