我有Nginx配置,我想允许一个DNS名称,因为我不能确定IP地址。
{
satisfy any;
allow www.domain.com; // want to achieve this
}
使用Nginx我们不能做到这一点。
看这个https://github.com/flant/nginx-http-rdns作为一个解决方案。这个模块说它做反向查找,但它没有工作,repo是非常旧的,维护良好。
另一种选择是使用shell脚本并在IP地址上进行挖掘或主机操作,但我们不想在Nginx上使用shell脚本。
另一种解决方案是使用侧车进行DNS解析并添加允许/拒绝规则。
如果这仍然有效,你需要在安装的nginx版本上编译它。如果你从一个repo中使用nginx,那么动态编译它,看看下面是否有帮助:
下载nginx src匹配的安装版本并解压。
$ cd nginx-1.x.x
$ ./configure --with-compat --add-dynamic-module=/path/to/nginx_module
$ make modules
make modules应该会生成一个nginx模块,你需要将它复制到/usr/lib/nginx/modules/
,并在nginx.conf中与load_module modules/modulename.so
一起加载。