首先,这里说的路由器指家用路由器,路由器的放置位置在网络的接入侧。放在接入侧的路由器,如果再WAN口提供HTTP服务器,监听80端口,监听本身没有问题,但是路由器将永远收不到任何请求。
为什么收不到请求呢?
监听正常,发送请求端也正常发送了,但是请求消息在网络传输的过程中,被运营商的网络过滤了。运营商过滤请求有一些原因:
1, 运营商过滤了80端口请求
国内网站上线是需要走备案程序的,就是将网站的相关信息向工信部报批,通过后才能上线。因此,运营商不会允许用户私自建立WEB服务器,采取的措施就是直接过滤掉对普通家庭宽带网络80端口的访问。
2, 运营商的防火墙过滤主动连接
这里所说的防火墙并非是用户自己的防火墙,而是运营商的区域防火墙,比如校园网或者某个区域网络。一般来说,为了网络内部普通用户的安全,管理员有可能会过滤掉外部网络发起的主动连接,这样的话,用户无论如何也是不能成功发布内网服务器的。
3, 路由器获取的不是公网IP地址
如果以上两点都不是原因,那么就是这个原因了。路由器拿到的不是公网IP地址,所以,在网络别的地方主动发起的连接会失败。
上周,我们团队在测试这个问题的时候,发现应该是第2个原因,所有的主动连接全部被过滤,WAN口的监听改为非知名端口号也失败。如果用一根网线直连路由器,
这是国内的网络环境,不是很清楚国外是不是也是这样,不过至少国外建网站不需要备案。