路由器端口映射到某台电脑后,这台电脑的nginx怎么生效?

张天星 2021-01-09 09:31:49
我外网通过路由器端口映射,映射到这台电脑上的某个服务(比如:192.168.1.42:3306,MySql)那么这个MySql是正常访问的。
而我这台电脑(192.168.1.42)上面安装一个docker_nginx,配置:

server {
listen 9200;
server_name loca.home.com;
location / {
proxy_pass http://192.168.1.99:9200;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
然后我在这台电脑上输入:127.0.0.1:9200,也是可以正常访问到另一台电脑(192.168.1.99:9200)
分开来看,路由器端口映射(外网->192.168.1.42:3306)
nginx代理转发(192.168.1.42:9200 -> 192.168.1.99:9200)
都是正常的。
这时候,我从外网,访问9200端口,却无法生效(从外网->192.168.1.42:9200 -> 192.168.1.99:9200)这一段无法完成,求教
求教可能的原因(大概有个思路也好)
应该从哪方面去思考,如何测试排查可能的问题?
...全文
11273 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员知码 2022-05-18
  • 打赏
  • 举报
回复

我和你的一模一样,您解决了吗,其他啥服务都可以,就是nginx外网访问不了

wj31932 2021-01-12
  • 打赏
  • 举报
回复
netstat -ano | findstr 端口号,看看端口是否打开,在pc上抓包,看外面访问的包是否到达pc,没有就检查路由器的配置。
小傻哥 2021-01-12
  • 打赏
  • 举报
回复
遇到过。看下地址栏里的端口号是不是没了。浏览器默认访问80的。所以要把所有链接或者重定向都加上端口号。
张天星 2021-01-11
  • 打赏
  • 举报
回复
引用 2 楼 X-i-n 的回复:
192.168.1.42 防火墙开启TCP 9200
我从外网通过路由器映射到42电脑的时候,3306也没有设置防火墙啊,我试试看,但还是感觉,应该是nginx哪里没设置好。 或许42电脑上用127.0.0.1:9200可以访问到nginx,但是外网映射进来就访问不了nginx了,但不知道应该怎么测试。
张天星 2021-01-11
  • 打赏
  • 举报
回复
引用 1 楼 forever74 的回复:
你用9200你的路由器就得映射9200啊
路由器有做9200的映射,不是这个问题,端口问题全部梳理过了,感觉没问题。
X-i-n 2021-01-10
  • 打赏
  • 举报
回复
192.168.1.42 防火墙开启TCP 9200
forever74 2021-01-10
  • 打赏
  • 举报
回复
你用9200你的路由器就得映射9200啊

3,810

社区成员

发帖
与我相关
我的任务
社区描述
硬件使用 交换及路由技术相关问题讨论专区
社区管理员
  • 交换及路由技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧