如何将内网Web服务暴露给外网访问
一般情况下,在一台PC电脑上启动一个Web应用服务,然后其他电脑就可以通过IP地址和端口来访问了。这就是所谓的Internet的缩影。
例如,局域网有一台PC,IP地址是192.168.1.110,然后使用3000端口跑了一个web应用。那么同一局域网下的其他PC设备,只需要在浏览器的地址栏输入:http://192.168.1.110:3000 就可以访问了。但如果你异地的朋友也想访问,那就访问不到了。这个就好比,你住在X小区110号3000室。局域网内访问,就好比你同小区的邻居,很容易就能找到110号3000室。但是如果非本小区的人,初次进入小区,是不可能一下就能找到110号3000室的。
那如何才能让外部用户访问局域网的某一个Web应用程序呢?答案就是端口映射。端口映射又称端口转发,这个就好比,外来人员来到小区X,找不到110号3000室,就会去问门口保安,保安就告诉了从门口到具体房间的行走路线。这样外来人员就轻松找到了你家。
实现端口映射,有两种思路:
- 找支持端口转发的第三方软件,比如 花生壳 等。
- 借助路由器提供的转发功能。
今天以 TL-WDR5600
型号的TP-Link路由器为例,演示下如何配置。
1. 打开 虚拟服务器
配置页面
登录路由器,点击 应用管理
,选择 虚拟服务器
。
2. 添加一条转发规则
点击保存,就可以了。
3. 访问测试
首先确定下路由器的出口IP。https://ip.cn/ 查看 您现在的 IP
这里面将显示外网出口IP。
然后使用这个IP地址,就可以访问到局域网的http://192.168.1.110:3000了。
注意:使用路由器的端口映射方案,最好Internet的接入方式是桥接模式,这样出口IP是固定的。因为如果是路由模式接入的Internet,出口IP是动态分配,会经常变化,这样就导致需要时不时切换外网IP地址来访问。ADSL桥接模式和路由模式的区别