nginx的proxy_pass到$host的问题
(2011-09-16 13:43:36)
标签:
nginxproxy_passhost502不能解析it |
分类: 工作日志 |
nginx-1.0来做反向代理,以下配置:
#(配置A,简称A)
resolver 192.168.1.251; #内部DNS服务器
server {
}
运行一些日子,发现有个问题,一些用/etc/hosts来解析的域名,在上面的配置下不生效。 xxx.qwemgh.com
在内部DNS上没有,我写在/etc/hosts文件中了,但是在询问时报502错误,error.log
下
但是如果用下面的写法就可以用:
#(配置B,简称B)
#resolver 192.168.1.251; #内部DNS服务器
server {
}
说明还是有读取/etc/hosts文件得。上面的配置也适用于读取/etc/resolv.conf
至于两个配置文件的区别个人认为可能是B配置文件是写死了域名,在nginx启动时会去操作系统中的/etc/hosts
/etc/resolv.conf 等中读取,进行解析,然后常驻内存中。
而配置A,是用变量$host,在nginx运行中,没法去一直读去/etc/hosts
/etc/resolv.conf,只能是根据配置文件去读resolver命令指定的DNS服务器。
#个人理解,水平有限,不一定准确,高人勿怪。
A配置还会有个DNS单点问题,请写:http://blog.sina.com.cn/s/blog_57c70e190100xzs3.html