如果将PC电脑变成web服务器:利用Nignx反向代理绕过运营商对80端口封锁
在上一篇文章中,我们已经实现了内网主机的多次端口映射,将内网主机的端口映射到了公网,可以通过公网访问该主机了。
因为电信的家庭宽带,默认是屏蔽80和443这类常规web端口的,我们可以用Nginx的反向代理,轻松绕过屏蔽。后面会单独写一篇文章说大家记得持续关注下
同样画个草图解释一下:
因为在“家庭网络”这一层,80/443端口是默认被屏蔽的,所以我们得通过一台服务器上的Nginx,将80端口转发到自定义的xx端口,xx端口在家庭网络中通过端口映射,最终到达主机的80/443端口,以实现web访问。这样就完美的绕过了电信的端口屏蔽。
接下来实际操作下。
(因平台原因本文中www即为xxx ,zzz即为zzz,cccc/ccccc即为cccc/ccccc)
准备工具:
一台服务器(最好国内)
一个域名(备案或是不备案主要看服务器运营商那边能不能过防火墙)
操作环境:域名为xxx.27server.zzz,服务器IP为47.xxx.xx.xx,家庭宽带公网IP为1xx.xxx.xxx.xxx (根据自己的实际情况来,每个人的IP都是不一样的)
一、家庭网络的配置
上一篇文章,我们已经知道怎么配置多次端口映射了,这里就简单讲一下(不懂的到主页翻一下)
1.在网关(光猫)上,配置端口映射,将外部22222端口映射到路由器的11111端口上:
2.在路由器上,将外部11111端口映射到主机的80端口上:
二、主机上的测试环境搭建
下载安装windows版的XAMPP,地址:ccccc://xxx.apachefriends.org/zh_cn/index.html
安装过程不细说了,一路默认安装即可。
打开XAMPP,启动一下Apache
提示:如果这一步启动失败,那么十有八九是端口冲突,如果电脑里装了VMvare,请打开任务管理器,把vmvare的后台进程都结束掉,其他占端口的程序同理。
然后打开浏览器,输入127.0.0.1,没意外的话应该能访问了:
这时候我们试着访问一下+端口 看看能否打开页面:
看到这一步,基本已经完成了百分之八十了。
三、域名的配置
我们需要将域名配置一下,解析到服务器上。如图添加一条A解析,指向服务器的IP:
这条配置的意思是:访问xxx.27server.zzz,将指向云服务器IP xxx.xxx.xxx.xxx
添加完解析后,电脑打开cmd,运行 ipconfig /flushdns,刷新一下DNS缓存,然后再 ping 一下 xxx.27server.zzz,如果成功ping出服务器地址,那么解析就添加好了。
四、服务器上的操作
在服务器上,我们需要添加一条Nginx反向代理规则,如未安装Nginx,可以使用LNMP一键安装包,确保有LNMP环境之后,新建一个Nginx的配置文件:
cd /usr/local/nginx/conf/vhost
vim xxx.27server.zzz.conf
(根据自己的域名去替换我们文章中的域名访问)
按Insert键开始编辑,添加如下内容:
server {
listen 80;
server_name xxx.27server.zzz;
location / {
proxy_pass cccc://1xx.xxx.xx.xx:22222;}
access_log off;}
如图:
完成后,按Esc,然后输入 :wq 保存。
重启一下nginx:
service nginx restart
浏览器访问一下我们解析好的域名即可访问
我是艾西,今天的分享就到这里啦希望对有需要的小伙伴有帮助我们下期见
拥有一台服务器可以做很多有趣的事情!