Nginx反向代理中的深坑

在将人脸识别系统从开发环境部署到服务器时,遇到HTTPS需求但缺少SSL证书,遂通过朋友服务器上的Nginx进行反向代理。然而,部署后系统功能报错,原因是用户Token丢失,问题根源在于Nginx默认不转发含有下划线的header。解决方法是修改Nginx配置,开启`underscores_in_headers`选项,允许转发含下划线的header,从而修复问题。
摘要由CSDN通过智能技术生成

Nginx反向代理中的深坑

今天完成了一个人脸识别系统的开发,在开发环境中调试好之后打算部署到服务器上。由于系统需要调用用户摄像头,只能使用https协议访。而我自己的域名没有在公安局备份(人在境外,比较麻烦),没办法申请SSL证书。于是我借了朋友的一台备案过的服务器,在他的服务器上用Nginx帮我转发一下。但是我在我部署好后端项目之后发现系统功能报错,但是同样的代码在开发环境中完全没有问题,经过排查之后发现是用户Token丢失。于是乎想到了肯定是Nginx的锅,搜索了一些资料和文档后,才知道Nginx进行代理时,有一个默认的参数:underscores_in_headers,这个参数的作用是是否转发header,默认为false。因此如果不带上的话,在转发之后header会被去掉。

重新配置Nginx:

server {
  ...
  underscores_in_headers on;
  ...
}

完全解决!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值