我想将nginx配置为proxy_pass我的域* xyz.abc.com到外部URL,例如google.com / ...,这个想法与此post相同。但它不断显示以下错误:
[error] 12725#12725: *1530410 no resolver defined to resolve google.com, client: 27.64.99.7, server: ~^(?<name>\w+)\.xyz\.abc\.com$, request: "GET /favicon.ico HTTP/1.1", host: "ivy1.xyz.abc.com", referrer: "http://ivy1.xyz.abc.com/"
这是我的配置
server {
server_name ~^(?<name>\w+)\.xyz\.abc\.com$;
location / {
proxy_pass https://google.com/$name$request_uri;
proxy_set_header Host $proxy_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
我的配置有问题吗?我正在使用nginx 1.11.6
作为@Richard的建议,我在位置上下文中设置了解析器,这解决了我的问题。
resolver 8.8.8.8;
resolver_timeout 10s;