Nginx - 记一次Nginx端口转发失败案例

简介: Nginx - 记一次Nginx端口转发失败案例

2020090607282540.png

项目场景:

测试环境没有F5 ,直接配置的是Nginx的地址,且Nginx监听的默认端口80 。 但生产环境F5后面配置了4个Nginx , F5端口开放了 8585端口 ,用于将Http请求转发到Nginx上 .


问题描述:

使用了测试环境的Nginx的配置文件,结果通过F5的ip+port(8585)访问应用时,好多ajax请求错误


原因分析:

经排查端口都转发到了80上,可以推断是F5到Nginx这一层 是没有问题的,直接通过Nginx访问应用,好多应用也是跳转到了80上,因此怀疑是Nginx的配置不正确导致的。


解决方案:

如果使用的不是Nginx默认的80端口,比如我这里的8585 ,转发请求时有可能会丢失端口号,这里只要在$host后面加上:$server_port;即可

在HTTP请求的server节点中


proxy_set_header   Host             $host

调整为

proxy_set_header   Host             $host:$server_port;

reload 或者重启 nginx ,问题解决。

相关文章
|
2月前
|
应用服务中间件 网络安全 nginx
【Nginx】Nginx启动显示80端口占用问题的解决方案
【Nginx】Nginx启动显示80端口占用问题的解决方案
395 1
|
11月前
|
缓存 前端开发 应用服务中间件
|
2月前
|
前端开发 应用服务中间件 nginx
nginx中配置不输入端口(指定地址)访问项目的方法
nginx中配置不输入端口(指定地址)访问项目的方法
|
11月前
|
应用服务中间件 开发工具 nginx
安装 Nginx 修改默认端口
用远程工具连接我们上次购买的机器,这里我要介绍一个知识点,博主使用的工具是 MobaXterm,这个工具有一个多操作的功能,在下图的位置可以开启多操作,然后连接你的服务器机子即可:
190 0
|
2月前
|
应用服务中间件 nginx Docker
docker安装nginx并暴露端口
【1月更文挑战第9天】docker安装nginx并暴露端口
221 0
|
8月前
|
应用服务中间件 nginx
nginx中handle模块的编写小案例
nginx中handle模块的编写小案例
nginx中handle模块的编写小案例
|
7月前
|
Java 应用服务中间件 Linux
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序
linux安装jdk1.8 +nginx +springboot 实现通过nginx80转发8888端口访问springboot程序
126 0
|
9月前
|
搜索推荐 应用服务中间件 nginx
67分布式电商项目 - nginx基于端口配置虚拟主机
67分布式电商项目 - nginx基于端口配置虚拟主机
33 0
|
11月前
|
弹性计算 专有云 应用服务中间件
nginx在云平台服务几个典型代理场景中的应用案例
在云平台服务中有多种场景需要使用到反向代理,常见的应用场景包括:内网专有云平台访问公网资源、公有云平台访问客户内网IDC机房资源、云产品通过代理访问多个不同的资源等等。笔者总结几种场景配置nginx的7层反向代理、4层反向代理,巧妙实现应用需求。
nginx在云平台服务几个典型代理场景中的应用案例
|
10月前
|
应用服务中间件 nginx
Nginx 代理80端口转443端口
Nginx 代理80端口转443端口