nginx死循环解决办法
问题描述
前后端分别部署在不同的服务器中,它们的访问域名不一致,前端访问域名是front.my.com,后端访问域名是server.my.com。为了解决跨域问题,前端调用后端接口通过nginx反向代理实现。
nginx配置
server{listen 80;server front.my.com;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location ^~ /api/ {rewrite '^/api/(.*)' /$1 break;proxy_pass http://server.my.com;}
}
接口调用
通过反向代理调用接口:http://front.my.com/api/getUserData
报错信息
nginx报错:502 Bad Gateway
通过日志查看详细报错信息:
epoll_wait() reported that client prematurely closed connection, so upstream connection is closed too while sending request to upstream …
而且发现仅发出一次请求,日志中却无故出现了多条请求记录,因此猜测是nginx死循环造成。
问题分析
调用后端接口时(http://front.my.com/api/getUserData),front.my.com反向代理到server.my.com的url。server.my.com带请求头"front.my.com",又去请求front.my.com这个域名,造成了死循环。
解决办法
方式一:注释掉标记1处proxy_set_header Host $host;的代码
方式二:添加标记2处的代码
server{listen 80;server front.my.com;#标记1-方式1# proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;location ^~ /api/ {rewrite '^/api/(.*)' /$1 break;proxy_pass http://server.my.com;#标记2-方式2proxy_set_header Host "server.my.com"; #host配置成后端服务器访问域名 }
}
nginx死循环解决办法相关推荐
- Java 递归 死循环解决办法自创
业务上遇到的,引入递归担心第三方接口不稳定陷入死循环,故自己想了一个解决办法,代码如下,如果帮到各位请帮我点个赞,谢谢 public JSONObject getLocus(String token, ...
- nginx访问本地目录一直不好使_「welcome to nginx」nginx配置不生效,页面一直是默认页面welcome to nginx的解决办法 - seo实验室...
welcome to nginx ubuntu下nginx的配置文件所在目录: /etc/nginx 我们对nginx的配置主要写在nginx.conf文件里,这个目录下还有conf.d和sites- ...
- nginx: [error] invalid PID number in /run/nginx.pid解决办法之一
原因之一是nginx监听的端口号被我关闭了. 所以直接重启大法: service nginx restart
- Mysql循环语句,死循环解决办法
delimiter // #定义标识符为双斜杠 drop procedure if exists test; #如果存在test存储过程则删除 create procedure test() #创建无 ...
- nginx alias php,Nginx Alias 无法解析PHP的解决办法
Nginx Alias 无法解析PHP的解决办法: server { listen 80; server_name xxxx.com.cn; error_log /tmp/eror.l ...
- nginx大量TIME_WAIT的解决办法(转载)
2019独角兽企业重金招聘Python工程师标准>>> 转载自: http://liuyieyer.iteye.com/blog/2214722?utm_source=tuicool ...
- flask uwsgi nginx *504* Gateway Time ou解决办法
flask uwsgi nginx 504 Gateway Time ou解决办法 此方法有可能无效 修改 vi /etc/nginx/conf.d/配置文件名.conf 添加如下信息: uwsgi_ ...
- nginx的权限问题(Permission denied)解决办法
nginx的权限问题(Permission denied)解决办法 一个nginx带多个tomcat集群环境,老是报如下错误: failed (13: Permission denied) while ...
- Nginx服务器不支持PATH_INFO的问题及解决办法
Nginx服务器不支持PATH_INFO的问题及解决办法 参考文章: (1)Nginx服务器不支持PATH_INFO的问题及解决办法 (2)https://www.cnblogs.com/echoso ...
最新文章
- Java多线程编程实战指南
- 单实例模式(singleton)
- 请求处理传入原生的API || 请求处理CharacterEncodingFilter解决乱码问题
- JdbcTemplate在Spring的ioc中使用
- Generic Access Profile (GAP)
- docker安装redis(最新)
- c# XML和实体类之间相互转换(序列化和反序列化)
- 解释什么是快速排序算法?_解释排序算法
- nginx 配置详解_Nginx 配置详解
- 1910140408安装win版
- mysql慢查询 表级锁_三分钟了解Mysql的表级锁——《深究Mysql锁》
- linq学习笔记(5):Count/Sum/Min/Max/Avg
- 6.打包和部署应用 6.1创建可执行的JAR的Spring Boot
- 51/STC12单片机SCON,PCON,TMOD寄存器定义及功能
- python 概率分布_Python中的联合概率分布
- 写给励志做码农的大学生
- drupal7 分页
- html做群聊通讯方法,微信如何发起群聊邀请(微信群链接生成教程)
- Vm linux虚拟机与本地宿主机互通
- 向日葵远程控制引起惠普战笔记本亮度无法调节问题