外网无法访问自己搭建的web服务问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了外网无法访问自己搭建的web服务问题相关的知识,希望对你有一定的参考价值。

问题描述:

1、IP确定是电信公网IP

2、电脑并未直连猫,通过路由链接的

3、已经修改nginx监听端口为8887

4、已经在路由设置的虚拟服务器里面,做了服务端口和内部端口与局域网ip的映射,服务端口设为9999,内部端口设为与nginx监听端口一致:8887
5、经测试,localhost:8887 访问nginx服务器结果正常
6、经测试,假设我的公网ip为XXX.XXX.XXX.XXX,通过外网IP+服务端口号,即XXX.XXX.XXX.XXX : 9999无法访问nginx ,通过fiddler抓包发现,可以抓到此包已经发至本机,但无法链接上端口(8887端口),但实际上我已经在内部端口映射上,设置了8887端口。
7、修改nginx服务器监听端口为80端口,在此访问XXX.XXX.XXX.XXX:9999 , 访问正常。

请问:为什么路由设置中的内部端口并未生效,是否XXX.XXX.XXX.XXX:9999访问到了本地主机后,就默认将http协议发往80端口?如不是,请各位分析一下第六条为什么无法访问nginx服务?

参考技术A 常见的原因可能是web容器的端口被占用了,以tomcat为例,可能是因为tomcat服务默认的8080端口被占用了,此时我们测试人员需要借助以下方式来做进一步判断(以window系统为例):
1.启动windows的命令窗口;
2.在命令窗口输入命令,netstat -ano |findstr "8080" ,回车即可看到8080端口被那个应用占用了;
3.输入命令基于进程id查找进程名称:tasklist |findstr "进程id号"
4.输入命令来杀死相应进程:taskkill /f /t /im "进程id或者进程名称"
以上内容均来自传智播客软件测试老师,他们论坛还有课程和配套资料。查查就可以,或者是对话框也能领。
参考技术B 外网访问格式

http:// 后面跟IP:端口号

测试

还有防火墙开放 需要的端口号追答

对了,不知是什么路由,有的有个“端口回流”选项,打开才能在内网,以外网IP模式登录

阿里云如何让外网访问自己的服务器公网访问阿里云自己服务器

1、在自己阿里云控制台上设置开发端口

  • 必须要开发端口不然外网访问不了你的网页

 

2、阿里云搭建flask项目供外网访问

  • 用flask进行web项目开发,因为我是阿里云直接用的,Centos7.3,Python3.6.5
  • 然后发现按照廖雪峰老师的代码,无法访问,但是没有采用flask的时候,是可以进行访问的,所以肯定是代码有问题。
  • flask默认IP用的是127.0.0.1,端口是5000,但是我的外网无法访问,所以需要指定IP和端口进行操作,
  • run(host=‘x.x.x.x’ ,port=8000,debug=True)
  • 开始直接把外网写入IP处,直接报错,最后把内网ip写入,然后公网ip访问成功,端口相同。

这里写图片描述

这里写图片描述

以上是关于外网无法访问自己搭建的web服务问题的主要内容,如果未能解决你的问题,请参考以下文章

如何从外网访问虚拟机中web服务器

ftp搭建后外网无法连接和访问阿里云服务器(非软件)

ERP服务器无法进行外网访问

阿里云如何让外网访问自己的服务器公网访问阿里云自己服务器

局域网的WEB服务器通过外网无法访问

wampserver搭建的网站外网无法访问的问题