在上一篇文章中,我们已经实现了内网主机的多次端口映射,将内网主机的端口映射到了公网,可以通过公网访问该主机了。
将你的电脑变成web服务器之一:将内网主机映射到外网实现远程访问
因为电信的家庭宽带,默认是屏蔽80和443这类常规web端口的,我们可以用Nginx的反向代理,轻松绕过屏蔽。
那么怎么实现绕过屏蔽呢?
其实原理类似我之前写过的一篇文章:
玩转nginx之:端口转发+反向代理完美绕过网站备案
同样画个草图解释一下:
因为在“家庭网络”这一层,80/443端口是默认被屏蔽的,所以我们通过云服务器上的Nginx,将80端口转发到自定义的xx端口,xx端口在家庭网络中通过端口映射,最终到达主机的80/443端口,以实现web访问。这样就完美的绕过了电信的端口屏蔽。
接下来实际操作下。
准备工具:一台云服务器(最好国内),一个域名(最好备案,如果是国外服务器那么无需备案)。
操作环境:域名为 aaa.xiaoweigod.com,云服务器IP为47.100.xx.xx,家庭宽带公网IP为115.204.yy.yy。
一、家庭网络的配置
根据上一篇文章,我们已经知道怎么配置多次端口映射了,这里就简单讲一下。
1.在网关(光猫)上,配置端口映射,将外部22222端口映射到路由器的11111端口上:
2.在路由器上,将外部11111端口映射到主机的80端口上:
二、主机上的测试环境搭建
下载安装windows版的XAMPP,地址:https://www.apachefriends.org/zh_cn/index.html
安装过程不细说了,一路默认安装即可。
打开XAMPP,启动一下Apache
提示:如果这一步启动失败,那么十有八九是端口冲突,如果电脑里装了VMvare,请打开任务管理器,把vmvare的后台进程都结束掉,其他占端口的程序同理。
然后打开浏览器,输入127.0.0.1,没意外的话应该能访问了:
这时候我们试着访问一下 公网IP:22222 看看能否打开页面:
看到这一步,基本已经完成了百分之八十了。
三、域名的配置
我们需要将域名配置一下,解析到云服务器。如图添加一条A解析,指向云服务器的IP:
这条配置的意思是:访问aaa.xiaoweigod.com,将指向云服务器IP 47.100.yy.yy。
添加完解析后,电脑打开cmd,运行 ipconfig /flushdns,刷新一下DNS缓存,然后再 ping 一下 aaa.xiaoweigod.com,如果成功ping出服务器地址,那么解析就添加好了。
四、云服务器上的操作
在云服务器上,我们需要添加一条Nginx反向代理规则,如未安装Nginx,可以使用LNMP一键安装包,详见下面博文的“教程之第三篇:搭建LNMP环境”:
从0开始,选购VPS,搭建LNMP环境+绑定域名解析+WordPress个人网站
确保有LNMP环境之后,新建一个Nginx的配置文件:
cd /usr/local/nginx/conf/vhost vim aaa.xiaoweigod.com.conf
按Insert键开始编辑,添加如下内容:
server { listen 80; server_name aaa.xiaoweigod.com; location / { proxy_pass http://115.204.xx.xx:22222; } access_log off; }
如图:
完成后,按Esc,然后输入 :wq 保存。
重启一下nginx:
service nginx restart
浏览器访问一下 aaa.xiaoweigod.com,看看奇迹的诞生吧~