在写这篇文章之前,先吐槽一下国内的备案制度。
前段时间腾讯云有活动,我就高高兴兴的买了一台3年的云主机。 目前我在阿里云注册了几个域名,想将域名解析到腾讯云主机上。 解析完结果后,打开页面一看,腾讯云会提示您注册。 我想知道为什么这么奇怪。 显然已经备案了。 系统有bug吗? 后来发工单发现,在阿里云注册的域名如果想使用腾讯云的主机,需要重新将注册转移到腾讯云,并且需要办理全部注册手续。 并且该域名转移到腾讯云后,无法解析到阿里云主机。 卧槽??????? 这个注册系统太混乱了,难道是我打开方式不对?
想了一会儿,我还是不忍心接受。 我怎么能垄断这个? 你一定知道,办理注册手续是多么麻烦。 别说收快递、拍照、审核、复核,注册期间域名都无法访问。 完成该过程大约需要一个月的时间。 而且我的服务器基本都在阿里云上,所以这个转移不会有任何问题。
基于折腾的原理,我想到了nginx的反向代理。 我尝试了几次,成功绕过了备案。 现在我就把方法分享给大家。
环境:一台已注册的阿里云服务器(简称注册A服务器),一台未注册的腾讯云服务器(简称未注册B服务器)。 都是系统,一键安装LNMP环境。 这个操作需要nginx通过端口转发的原理来实现。 该域名可以访问。
1、使用原理
如果云服务器提供商检测到您的域名已解析到其服务器上且未在其服务器上注册,就会劫持服务器的80、443端口,跳转到注册提示页面,导致您一登录就会出现一个页面。打开网址。 未注册。 后来经过反复测试,发现如果把web端口改成其他端口,比如1234,就不会被劫持了。 例如,在腾讯云中,我们可以将未注册的B服务器的Web端口更改为1234,然后通过服务器ip:1234进行访问。此时,我们可以使用nginx的端口转发和反向代理功能进行转发未注册的B服务器的1234端口到已注册的A服务器的80端口,然后将域名解析到A服务器,然后通过A服务器转发。 请求服务器B绕过网站注册功能。
简单画个图就明白了:
二、实施前需要明确的内容
首先需要明确几点:
①域名直接解析到服务器A,服务器A需要正常添加网站,监听80端口,绑定域名,并将域名80端口的访问请求转发到服务器B的1234端口;
②对于服务器B来说,用户访问操作相当于服务器A访问服务器B,是通过IP访问的,所以不需要添加域名,直接监听1234端口即可。
③如果需要添加多个网站,可以通过端口来区分,比如1234端口指定网站,2345端口指定网站。
④无论如何,服务器B是最终的Web服务器,服务器A只做转发。 因此,如果网站需要添加https、301跳转等,可以直接在服务器B上进行配置。
3、端口转发实现(实际操作记录)
现在我们开始实际操作,通过端口转发,实现这个域名可以访问。
1.添加解析
首先我们向域名服务商添加A解析并解析。 到注册的A服务器的地址。 提交完成后,等待几分钟,ping域名。 如果能够 ping 通地址,则解析成功。
2、未注册的B服务器上的操作
切换到服务器B,首先添加网站并填写网站信息(如图)
lnmp vhost add
接下来我们修改这个域名的配置文件:
vim /usr/local/nginx/conf/vhost/live2d..conf
如图,将默认端口80改为端口1234,按edit,按esc保存,输入:wq
此时我们无法访问:1234。因为在lnmp环境下,nginx有一个主配置文件,指定了默认的配置。
修改主配置文件:
vim /usr/local/nginx/conf/nginx.conf
如图,用#注释掉底部整段{ },进入vhost/*.conf上面的位置
然后重启nginx:
service nginx restart
最后我们把一个页面放到.net的网站目录下。 测试是否成功:
vim /www/live2d./index.html
如上图所示,我随意敲了几个字,只是为了验证一下是否成功。 保存然后用浏览器访问:1234
可以看到通过IP+端口可以正常访问。 (提示:如果无法进入此步骤,请在安全组中释放1234端口并关闭防火墙)
3、注册A服务器上的操作
我们切换到服务器A并创建一个新的nginx配置文件:
vim /usr/local/nginx/conf/vhost/live2d.
配置文件内容如下:
server { listen 80; server_name live2d.; location / { proxy_pass http://B服务器ip地址:1234; } access_log off; }
然后保存并重启nginx:
service nginx restart
完成后直接在浏览器访问
可以看到,端口转发和反向代理已经成功完成,完美绕过注册。
4. 常见问题
1、配置完成后,访问域名时显示502 Bad。
答:这是由于服务器A访问服务器B,连接超时或连接被拒绝造成的。 请关闭防火墙并在安全组配置中打开相应端口。 如果问题仍然存在,请检查两台服务器配置的端口是否一致。
2、配置完成后,访问提示找不到服务器IP地址。
答:这是因为您的域名解析错误。 请确认域名已成功解析到A服务器地址,并且您没有刷卡填写错误的A服务器IP。
3、配置完成后,访问仍然提示归档。
答:还是域名解析问题。 请将域名解析到注册的服务器A,而不是服务器B。
4.配置时,重启nginx,会报错。
答:请检查配置文件是否已更正,并对照本文仔细核对。
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。