设置Nginx以将一台服务器上的失败请求代理到另一台服务器
我正在开发一个新版本的api,它是对当前api的完整重写.首先,新api将不会处理任何请求,但是随着时间的流逝,新api中将实现越来越多的路由(大多数路由使用的路径与旧api中使用的路径相同).我在与新api服务(节点在端口3000上运行)所在的服务器上设置了nginx,而旧api服务在api.example.com(192.168.1.25)上运行.我想要做的是将api.example.com指向新的api服务,然后在有请求进入时,让nginx首先在新的api服务上尝试该请求(127.0.0.1:3000),如果该请求返回404,然后将请求发送到旧的api服务(192.168.1.25). 最佳答案 我最终使用以下配置使它与标题和cookie支持一起使用.
请注意error_page 417 = @old_backend.这使得Nginx从新服务器捕获到417响应作为使用旧服务器的触发器.然后,我刚刚向新服务器添加了一条通配路由,以返回417,这样,当在新服务器上适当时,仍可以使用404s. 417 Expectation Failed可能不是此用例的最合适代码,但看起来足够接近. 另外,这会将http://example.com/some/path正确代理到https://old.example.com/some/path. (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 使用nginx通过index.php路由请求
- Nginx worker_processes和多核cpu – 超线程核心数量多少?
- ruby-on-rails-与ws://example.com/cable的WebSocket连接失
- php5-fpm nginx google bot =连接由同行重置
- 在ubuntu 14.04中更新nginx
- nginx反向代理图像和css未加载
- ruby-on-rails-使用Nginx Gzip Unicorn时缺少Content-Lengt
- letsencrypt django webroot
- nginx – 忽略Varnish VCL中的GET参数
- nginx后面的ASP.NET 5
- asp.net-mvc-2 – 关于nginx/mono 2.8的ASP.Net
- 如何通过负载平衡流式传输点播视频
- django – 当我检查nginx access.log时,未知的HE
- Nginx:泊坞窗内的502 Bad Gateway
- 当响应位置的域发生变化时,使用nginx的proxy_red
- ruby-on-rails – 如何让systemd用Puma重启Rails
- 在docker上,nginx:[emerg] bind()到0.0.0.0:80失
- 如何在Heroku上使用REST API后端最佳地提供静态文
- nginx – Rails 3.2中的活动记录查询问题
- NGinx将websocket从80扩展到websocket端口