我使用 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”
任何有关如何解析主机名并使用结果的帮助都将不胜感激。
我可以写一个小脚本,每隔 x 分钟检查一次我的 DNS,如果需要,用新 IP 覆盖配置文件并重新加载 nginx 配置。但是,这并不优雅,需要注意脚本所有权/权限以确保安全。
答案1
这可以通过rdns
模块。
它可以对远程 IP 进行反向 DNS 查找,随后您可以根据传入的主机名允许/拒绝。