Nginx反向代理已经指定resolver,但依然提示[emerg] host not found in upstream

Nginx反向代理自身实现CDN
源站:103.213.xxx.xxx bbs.xiaoz.org ,hosts可以访问

具体的配置如下:

server
        {
        listen          80;
        server_name     bbs.xiaoz.org;
        location / {
           resolver 101.37.xxx.xx;
           proxy_pass http://bbs.xiaoz.org;
           proxy_redirect off;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

已经在101.37.xxx.xx安装dnsmasq指定hosts回源到103.213.xxx.xxx指定了resolver让101.37.xxx.xx来解析bbs.xiaoz.org,但是提示[emerg] host not found in upstream,dig测试解析是生效的,但为什么nginx还是无法启动?

阅读 14.1k
1 个回答

问题已经解决,参考了:Nginx DNS resolver配置实例

需要注意的是 proxy_pass 并不是每次请求都会进行解析,如果 upstream IP 频繁变动,需要强制解析。

# via http://forum.nginx.org/read.php?2,215830,215832#msg-215832
resolver 127.0.0.1;
set $backend "foo.example.com";
proxy_pass http://$backend;
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题