location /v {
proxy_pass https://gs.x.sohu.com;
}
看个简单的例子, 一般为了方便我们会直接把域名写在proxy_pass的后边, 这会导致当这个域名无法解析的时候,比如机房下线了,比如第三方回源的域名被摘掉了, 导致nginx restart失败
建议的写法是:
location /v {
set $new_host "gs.x.sohu.com";
proxy_pass https://$new_host;
}
两者的不同之处在于:
1. proxy_pass直接跟域名的话, 会且只会在nginx 服务起来的时候解析一次, 失败则起不来
2. proxy_pass跟一个域名变量的话, 是调用resolver的, 跟随resolver的配置, 包括有效时间等, 有请求的时候才解析, 失败了也不影响全局服务
proxy_pass 建议写法
发表评论