鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全/ Nginx反向代理已經(jīng)指定resolver,但依然提示[emerg] host

Nginx反向代理已經(jīng)指定resolver,但依然提示[emerg] host not found in upstream

Nginx反向代理自身實現(xiàn)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;
    }
}

已經(jīng)在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還是無法啟動?

回答
編輯回答
喵小咪

問題已經(jīng)解決,參考了:Nginx DNS resolver配置實例

需要注意的是 proxy_pass 并不是每次請求都會進(jìn)行解析,如果 upstream IP 頻繁變動,需要強(qiáng)制解析。

# 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;
2017年7月25日 00:40