二十九、nginx反向代理自调用时小心Header里的host

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二十九、nginx反向代理自调用时小心Header里的host相关的知识,希望对你有一定的参考价值。

参考技术A

最近为了响应公司“降本增效”,提高资源使用率,我们EDI小组决定要整合 edi-db edi-rest edi-admin 三个springboot应用到一个云主机上,通过nginx反向代理进行分流。最终配置结果如下图:

edi-admin 应用运行时通过HttpClient请求 edi-rest 模块提供的Rest时,会返回404。

这些URL经验证:1)云主机上通过curl命令访问正常;2)客户端通过postman访问正常

猜测应该是 edi-admin 在请求时的请求头和正常有区别。经过postman验证发现,是由于 edi-admin 请求的Header里的host导致的异常。

发现其在使用httpclient进行请求前,把请求 edi-admin 的header全量复制给了请求 edi-rest 的请求里。

修改edi-admin中复制Header的逻辑,全量复制改为只复制Cookie(为了认证)。重新部署后问题解决。

以上是关于二十九、nginx反向代理自调用时小心Header里的host的主要内容,如果未能解决你的问题,请参考以下文章

Nginx---反向代理,SSL支持

nginx反向代理后丢失origin参数

nginx - 反向代理 - 配置文件 header - 日志log格式

nginx反向代理解决wechat图片问题

nginx 反向代理中proxy_set_header的含义

Nginx 使用域名反向代理报 400 Request Header Or Cookie Too Large 解决方案