后备 NGINX 位置
Posted
技术标签:
【中文标题】后备 NGINX 位置【英文标题】:Fallback NGINX location 【发布时间】:2018-09-26 20:18:40 【问题描述】:我是 nginx 的新手,我正在迁移服务器。我还没有完成新服务器上的所有内容,所以我希望它与新服务器匹配,除非该资源或路径不存在。如果是这样,我想将其发送到旧服务器。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:我通过proxy_next_upstream
hack 做到了这一点
定义一个upstream,通过控制权重将大部分reqeust转发到new_server,proxy_next_upstream
会重试将失败的请求转发到下一个server(old_server)
upstream backend
server new_server weight=10000;
server old_server weight=1;
server
location /
proxy_pass http://backend;
proxy_next_upstream error timeout http_404 http_500 http_502 http_503 http_504 non_idempotent;
============
解决方案二
server
location /
proxy_pass http://new_server;
error_page 404 500 502 503 504 = @fallback;
location @fallback
proxy_pass http://old_server;
【讨论】:
以上是关于后备 NGINX 位置的主要内容,如果未能解决你的问题,请参考以下文章