to be
a problem slover

公网ip被运营商禁用80端口的技术证明

概述

大家都说家里的公网ip会被运营商禁用80和443端口

今天我们来试验一下,是不是真的如此。

环境说明

server: centos release 7.7.1908
nginx: 1.16.1

step1: 在服务器启动nginx

在服务器运行nginx, 在80端口服务, firewalld防火墙也开启了80端口

netstat命令可以看出,nginx在80端口服务了

$ netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      5520/nginx: master
tcp6       0      0 :::80                   :::*                    LISTEN      5520/nginx: master

step2: 在服务器内telnet

在terminal里面telnet可以通

$ telnet i.liushiming.cn 80
Trying 61.141.64.171...
Connected to i.liushiming.cn.
Escape character is '^]'.

step3: 在服务器外telnet

从外面telnet不通

$ telnet i.liushiming.cn 80
Trying 61.141.64.171...
telnet: Unable to connect to remote host: Operation timed out

至此,可以证明80端口是被运营商禁用

step4: 修改nginx端口再测试(可选)

编辑nginx配置

$ vi /etc/nginx/nginx.conf

将80端口改为3000端口

... 
    server {
        listen       3000 default_server;
        listen       [::]:3000 default_server;
...

重启nginx

$ nginx -s reload

确认nginx在3000端口服务

$ netstat -tunlp | grep nginx
tcp        0      0 0.0.0.0:3000            0.0.0.0:*               LISTEN      5114/nginx: worker
tcp6       0      0 :::3000                 :::*                    LISTEN      5114/nginx: worker

防火墙开启3000端口

$ firewall-cmd --permanent --add-port=3000/tcp

在服务器外telnet 3000端口

$ telnet i.liushiming.cn 3000
Trying 61.141.64.171...
Connected to i.liushiming.cn.

telnet是通的,即80端口不能通,但同样配置3000端口可以通

结论

80端口确实被运营商禁用了,443应该也是如此,读者不妨试试

赞(7) 打赏
欢迎转载,注明出处:刘世明的博客 » 公网ip被运营商禁用80端口的技术证明

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下作者

支付宝扫一扫打赏

微信扫一扫打赏