如何让外网访问自己的本地Web服务

目前很多网站开发者安装了IIS或者Apache等Web服务器,可以把自己电脑配置成一以路由为中心的内网服务器。

本地服务器在内网测试是绰绰有余的,但是有些项目需要演示给异地的客户验收,而又赶不及把自己的网站放到服务器上面,这时我们就可以采用端口映射,让客户可以在外网访问我们的本地服务器(适合大部分的网站设计Soho工作者)。

网络上面已经有很多软件可以实现这一功能,但是我今天要讲的是不依靠任何软件(本人不喜欢安装软件),而是自己设置路由的端口,达到自己电脑上面的本地服务器能被外网访问。

什么是端口映射,下面会有介绍,在搞这个端口映射的前提,是要有一个路由,没路由的,麻烦…..你去买一个吧。

我们的本地Web服务器一般都是Http://localhost/ 或者后面带端口,局域网的用户则是通过电脑的内网IP访问Web服务器,例如,Web服务器电脑的IP是 192.168.1.112,局域网内的其他用户则可以通过 https://192.168.1.112访问到我们的Web服务器,但是对于外网用户来说,不可能通过访问https://192.168.1.112这个IP来访问我们的Web服务器,那就需要一个对于外网用户而言你的Web服务器是唯一的IP地址,起这个唯一IP地址作用的就是你的路由。

下面我就以TP-Link路由为例子,介绍端口映射怎么操作。

一、我们进入

路由器

,查看我们的路由的WAN口的IP地址。

Wan口

这个IP(27.40.127.248)就是外网用户可以唯一识别你电脑地址的路由IP,但是一个路由一般都同时连接着几部电脑,这又怎么让访问者找到你呢,这就需要到了端口映射。

端口映射又称端口转发。端口映射过程就如同你家在一个小区里T栋112室,你朋友来找你,找到小区门口,不知道你住哪层哪号?就问小区的保安,保安就告诉了他你家详细门牌号,这样你朋友很轻松的找到了你家。这个保安就是就路由器,这个过程就是外网访问内网通过端口映射的形象比喻。

然后我们再在TP-Link路由里面找到它的端口映射功能,这个端口映射所在位置是“转发规则”里面的“虚拟服务器”(每个牌子的路由的名字都不一样,请大家自己详细找找),然后添加转发条目,如下图:

虚拟服务

80端口转发

在我的TP-Link下面,我已经添加了两条条目,就分别是80端口和8080端口的转发到内网192.168.1.112在台电脑,现在只要用户通过80或者8080这两个端口访问路由的IP,那路由就会把用户转向192.168.1.112这台电脑所在本地服务器。

端口映射

除了Web服务器可以做这样的设置,FTP也可以做类似的转发,FTP的默认端口是21。

路由器端口映射实现外网访问本地服务器

一 获取域名和本地服务器环境设置

1 下载花生壳 http://hsk.oray.com/download/ ,得到一个属于你的免费个人二级域名,由于用的是路由器,所以你的外网IP会不时更新,而花生壳能实现域名与IP地址的动态绑定;

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_Web

 

2 Tomcat设置,Tomcat的下载和安装就不再赘述了,有需要的自行百度教程,安装完成后,找到安装位置,像我的是C:\Program Files\Apache Software Foundation\Tomcat 8.0,进入conf文件夹,找到server.xml,用EditPlus或记事本打开,找到

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_Web_02

 将port改为80,这样你访问时就不用输入端口号了,再找到

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_IP_03


内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_IP_04

将defaultHost和name都改为你自己的域名,至此,Tomcat的设置就完成了!注:这里的项目默认是Tomcat安装成功显示的网页,如果你想显示自己的网站,则在server.xml中的<Host>标签下增加子标签<Context path="" docBase="" reloadable="true" />,其中,path是虚拟路径,docBase是项目实际路径,如你用MyEclipse新建Web项目为MyWebSite,则可设置为<Context path="/MyWebSite" docBase="C:\Users\Administrator\workspace\MyWebSite" reloadable="true" />


二 路由器端口映射设置

我用的是TPLink-WR941N,其他路由器设置基本雷同,打开192.168.1.1,账号密码默认都为admin,进入路由器设置界面,点击转发规则-虚拟服务器-新建新条目,按如下进行设置,其中IP地址是你的内网地址,怎么查看自己的内网IP?请win键搜索框中输入cmd,打开命令行输入ipconfig,找到本地连接下的IPv4地址,即内网IP

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_IP_05

 

设置好之后,OK,保存!

这时你会发现在浏览器中输入网站还是打不开?别急,是因为路由器远端Web管理的默认端口也设置成了80了,造成端口冲突,更改一下它的端口就行了,在路由器管理界面,点击安全功能-远端Web管理,将Web管理端口改为8080或者其他空闲端口

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_IP_06

 四 开放防火墙端口

好了,万事俱备只欠东风了!为了让外网其他人访问你的网站,你还得给他们开放80端口啊,当然你可以完全关闭防火墙,但这很危险,
win7下,桌面计算机图标右键-控制面板-Windows防火墙-高级设置-入站规则-新建规则-端口,按以下设置

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_Web_07

 

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_IP_08

 

接着一路默认,到名称,填写你的网站名或其他,然后点击完成

 

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_IP_09


 

五 测试

配置都完成了,来测试一下吧,打开浏览器输入你的域名,如无意外,应该能成功访问了!

内部服务器外网映射前端请求接口报axioserror 服务器做外网映射_端口映射_10