Web在自己电脑搭建网站,发布到公网,并使用域名访问BensonLaur
如果您有SEO优化、网站建设需求请致电:18510193015
有一台闲置的笔记本,想将它当作服务器来玩,用于发布之前毕业设计的博客系统。然而,在百度搜索相关资料时,发现信息鱼龙混杂且大多千篇一律。刚开始参照这些资料进行设置,却未能成功发布。最终发现,网上大部分资料提及的设置都有一个前提 —— 本地WLAN 接口分配的 IP 是公网 IP。
作为网站建设新手,弄清楚这一事实耗费了不少时间,好在没有放弃,偶然间发现了问题所在。
本地网站是使用 tomcat 服务器运行的 JSP 网站,网络提供商是电信,上网方式为宽带拨号上网。
### 失败的尝试
接下来要做的是访问自己的路由器并设置虚拟服务器。
简单来讲,设置虚拟服务器就是确定局域网中哪台主机的哪个端口来接收服务器要接收的数据。具体而言,就是让路由器在收到 WLAN 端的数据包后,转发时选择我们设置的内网 IP 和端口号来转发数据包。
不同路由器的具体操作有所不同,这里以水星MW300R 路由器为例,大体步骤如下:
1. 连接路由发出的网络后,访问 192.168.1.1 或 192.168.0.1 或路由器上标注的提示域名网址,输入密码登录管理路由器。
2. 找到相关设置里的 “虚拟服务器” 设置页面,添加转发规则。
3. 添加一条转发规则,“外部端口” 是访问外部 IP 时使用的端口号,“内部端口” 是在本地访问网站时使用的端口号,IP 地址是本机的内网 IP,协议类型为 TCP。
但是出现了 “无法访问此网站” 的情况,提示 “61.144.105. 拒绝了我们的连接请求”。
### 逐步排除设置虚拟服务器后仍不能访问的原因
设置了虚拟服务器却不能访问的原因有很多,建议详细查看相关链接。在其中一个链接的 4.2 小点,终于找到了设置无效的原因:
“WAN 口 IP 地址不是公网 IP 地址,无法进行虚拟服务器映射。
解决办法:局域网内的电脑访问ip138.com,如查看到的 IP 地址与路由器 WAN 口 IP 地址不同,建议联系宽带服务商解决问题。
路由器 WAN 口 IP 地址 (在路由器管理界面系统状态页面查看):
### 被忽视的路由器 WLAN 端 IP
原来网络运营商在提供上网功能时,不一定会给我们一个全球唯一的公网 IP,我们自己路由 “WLAN 端” 得到的 IP 可能是另一个局域网内的 IP;还有一种情况:拉的联通的带宽,分配的 IP 只能在联通内部访问,移动网络无法访问。这个 IP 最多只能算是 “联通内的公网 IP”,并非真正的公网 IP。
### 得出结论
结果是:
“您的本地上网 IP 是:
61.144.105.245,10.147.39.128”
怪不得在设置了虚拟服务器的 ip 和端口转发规则后,通过百度搜索 “ip” 直接查询到自己的外网 IP“61.144.105.245” 和设置的端口却访问不了本地的网站,原来是在访问更外层的路由器时可能被做了其他处理。
### 适合的解决方案
确定自己是 “无公网 IP” 的原因后,可以在相关链接中查找参考方案。
对于这种情况,或许可以向提供商索要 IP,看来不可避免地要使用第三方端口映射软件,将域名绑定服务器,把内网网站应用映射到外网域名。
比如 nat123,花生壳。
### 使用花生壳域名配置过程
使用花生壳无需上述配置,直接按下面步骤操作:
注册购买域名,开通相关功能。
重启 “花生壳” 客户端,对端口的映射配置是在花生壳网站上进行的,配置完后要使配置真正有效,需要一直开着 “花生壳” 客户端。
### 外网成功访问
配置的域名是 bensonlaur.vicp.io,外部端口号 80;内网 IP 是 192.168.1.111,服务端口按自己的需求设置。
补充一些利用闲置笔记本做服务器发布网站的经验