一.背景:

nginx监听8082端口,2个tomcat分别为8180和8280,外网映射端口为13410。

实际的访问地址有2个,内网是http://10.130.0.250:8082/jwell-km-client,外网是http://221.xxx.162.xxx:13410/jwell-km-client。

节点1内网直接访问地址为http://10.130.0.250:8180/jwell-km-client。节点2内网直接访问地址为http://10.130.0.250:8280/jwell-km-client。

正常直接访问地址1,会被Redirect一次,地址为http://10.130.0.250:8180/jwell-km-client/home/login。

当默认简单配置了代理后,内网访问正常

但是,外网访问把端口给我修改了,导致访问异常:

二.问题分析

百度了很久,也看了官方文档。整体原因是外网映射了一次,在跳转的时候,丢失了外网映射访问的端口,默认添加的是nginx监听的端口。端口不对了,就访问失败了。内网访问添加内网的端口,本身能访问就没有问题。

三.问题解决

解决思路是当外网映射的时候,把端口给他修改正确就好了。

worker_processes  1;
events {worker_connections  1024;
}
http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;upstream services {server 127.0.0.1:8180;server 127.0.0.1:8280;}server {listen       8082;server_name  localhost;
#关键配置来了
port_in_redirect on;
proxy_redirect http://221.xxx.162.xxx/ http://221.xxx.162.xxx:13410/;
proxy_redirect http://10.130.0.250/ http://10.130.0.250:8082/;
proxy_set_header  Host $host:$proxy_port;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#就是上面这些关键的了location / {proxy_pass  http://services;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

最后解决的结果是:

外网正常

内网正常

四.后记

暂时配置了2个proxy_redirect,分别把没有端口的内网和外网给添加上了对应的端口。算是临时解决的方法。下次还要写curl,哈哈!

参考了

http://nginx.org/en/docs/

http://tengine.taobao.org/nginx_docs/cn/docs/

https://blog.rj-bai.com/post/77.html

https://blog.csdn.net/juncke/article/details/52539175

外网映射nginx端口丢失问题解决相关推荐

  1. ngrok--免费好用的外网映射工具

    写在前面的话 ngrok就不多说了,作为一款免费又好用的映射工具,绝对是你调试程序的有力助手,话不多说,下面我来分享一下自己的心得 ---------------------------------- ...

  2. Nginx实现内网服务唯一端口外网映射

    原文地址:https://www.cnblogs.com/relax-zw/p/9922144.html 2.1  内网服务唯一端口外网映射 (一)       组网图 (二)       简要说明: ...

  3. nginx的stream使用实践,ssh代理,外网映射

    背景 实际场景:现有几台内网linux服务器(内网互通),只有一台win服务器具有双网口(内外网). 起初,对内网的linux服务进行配置时,ssh和ftp连接都是在双网口的win服务器上使用客户端进 ...

  4. nginx 监听非标准端口80,重定向端口丢失问题解决

    nginx 监听非标准端口80,重定向端口丢失问题解决 参考文章: (1)nginx 监听非标准端口80,重定向端口丢失问题解决 (2)https://www.cnblogs.com/qianxunm ...

  5. Java微信公众号开发-外网映射工具配置 - 星星满天 - 博客园

    一.开发环境准备 1.一个微信公众号 2.外网映射工具(开发调试)如花生壳.ngrok工具 注:与微信对接的URL要具备以下条件a:在公网上能够访问 b:端口只支持80端口 这里使用ngrok.cc: ...

  6. Ngrok的外网映射

    Ngrok的外网映射使用 一:使用的背景简单介绍---> 1.0:在开发项目的时候,客户可能要查看开发的进度,但是使用Tomcat等Web容器如果没有域名就不能实现外网访问的,为此就需要一款外网 ...

  7. Server-U 访问外网服务器指定端口(内网21端口,外网其他端口)

    1.安装server-u,创建用户和域自行百度. 2.先使用同一局域网使用xftp或FileZilla工具进行测试,同一网端无法连接成功请自行百度,这里不详细描述. 3.内外网映射 例如:内网使用ft ...

  8. ip设置与防火墙外网映射

    ip设置与防火墙外网映射 ip 网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议.在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时 ...

  9. 将本地电脑做外网映射

    很多小伙伴应该都想过这个问题,我们能不能将自己的电脑做成服务器,然后其他人可以通过网络访问到我们得电脑. 当然,这个问题的答案是肯定可以的.今天我就给大家总结一下,怎么将本地ip映射到外网. 准备 这 ...

最新文章

  1. 【Android测试】【第十四节】Appium——简述
  2. 前端学习(2957):组件之间的参数传递父传子
  3. P2386 放苹果 方法一
  4. python pandas 日期格式_pandas 快速处理 date_time 日期格式方法
  5. 9个适合web开发人员的CSS工具
  6. Windows环境下Docker常用命令
  7. 两种改变 Windows Vista UI语言的途径
  8. Yii 多表关联relations
  9. Linux的网络安装
  10. ofo之死:一场商业“宫斗剧”下的祭品
  11. PDF文件阅读器可转word...
  12. 用Python解读房贷利率,有没有套路?这是我见过最透彻的Python版解读!
  13. 钟平逻辑英语语法_钟平逻辑英语教程视频1-5季全(含笔记 支持百度云)
  14. nyoj素数环(dfs)
  15. 中国锂电设备行业营状况分析及未来发展动向预测报告2022-2028年版
  16. 不同范数下的余弦定理_平行四边形的认识视频
  17. Tacotron2 NVIDIA版本优化停顿问题之Biao-Bei数据PhonePrssCrystal
  18. 2020总结——人生如逆旅,我亦是行人
  19. 微带线microstrip和带状线stripline
  20. 《Unity 3D脚本编程:使用C#语言开发跨平台游戏》序言

热门文章

  1. x265编码格式的avi视频播放只有声音,图像不出来的一种解决方式
  2. 关于在写代码时如何使用绝对路径与相对路径及其简单介绍
  3. OKI5860sp打印机正确安装驱动后,打印提示错误的解决方法
  4. 「代码家」的学习过程和学习经验分享(挺好的一篇文章,转载侵删)
  5. Microsoft Data Access Components(MDAC) version 2.6 or later
  6. Verilog实现VGA通信的驱动
  7. Golang 生成分布式单调递增 UUID
  8. 简介java5、java6、java7、java8、java9
  9. iPhone开发资源PDF电子书
  10. 暴风TV发布第二款AI无屏电视:六大升级打造投影旗舰