Ian*_*kem 30 reverse-proxy nginx url-rewriting
可以在/ etc/hosts文件被用来代替解析器使用时proxy_pass?
我需要对同一个nginx机器执行proxy_pass.有没有办法使用机器的/ etc/hosts文件解析域,而不是通过"解析器"属性指定DNS服务器?
这将节省我到达同一服务器所需的额外跃点.我已经尝试在/ etc/hosts文件中设置映射到DNS的内部IP,但是nginx仍然从解析器属性中设置的DNS服务器读取.或者有没有办法让HTTPProxy模块考虑/ etc/hosts文件设置?
感谢您分享的任何建议..
这是我在nginx论坛上发布的同一个问题:http: //forum.nginx.org/read.php?11,218997
小智 40
您可以通过安装dnsmasq和设置解析器来解决这个问题127.0.0.1.基本上,这会将您的本地DNS用作解析器,但它只会解析它所知道的内容(其中包括您的内容/etc/hosts),并将其余内容转发给您的默认DNS.
解决方法是使用Nginx映射,以便复制/etc/hosts内容.
map $wanted_host $wanted_host_ip
{
default 127.0.0.1;
b.dev.local X.X.X.X;
a.dev.local X.X.X.X;
}
server
{
listen 80;
server_name ~^(?P<wanted_port>[0-9]+?)-(?P<wanted_host>.+?)\.HOSTNAME$;
location /
{
proxy_pass http://$wanted_host_ip:$wanted_port;
}
}
Run Code Online (Sandbox Code Playgroud)
这将映射wanted_host到wanted_host_ip解析器.
| 归档时间: |
|
| 查看次数: |
14435 次 |
| 最近记录: |