nginx反向代理时候DNS解析的问题?

nginx配置:

server {
    # 省...略部分配置
    server_name  xx.test.com;
}
server {
    server_name  test.com;
    # 省...略部分配置
    location ^~/xx/ {
        proxy_set_header Host xx.test.com;
        proxy_pass http://xx.test.com/;
    }
}

在本机没有配置hosts文件情况下,当我访问
test.com/xx的时候,nginx是否有DNS解析 xx.test.com 的这个过程?

PS: 我的想法是这样的:既然我都已经在nginx中配置了xx.test.com这个server,nginx它自己难道不应该知道这个服务就是本机自己的吗?还去解析岂不是多此一举。

阅读 4.4k
2 个回答

nginx只执行的os的dns解析, 你不配置本机host那你访问,就解析到实际的xx.test.com上去了

一个域名可以配置多个不同的解析:可以有多条A、CNAME记录,配置负载均衡、智能调度等解析策略。
虽然你在这一台服务器nginx里配置了该域名,但是也有可能还有别的服务器nginx配置了。
既然你想省了DNS解析环节,那配置代理的时候直接写IP即可。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题