因为某些需要,常常需要在无IPv6的环境中访问一些纯IPv6网址。但是以前的处理方法是挂上一个双栈代理然后访问,这样的访问过于麻烦,之前群里提供的各种反代域名也多因为种种原因“消失”了~
正好自己手头上有空的VPS,正好可以搭建反代域名来访问。
2020.02.23 本人自己搭建的反代域名已经关闭,请自己另行搭建使用。
安装Nginx、设置DNS记录
使用包管理器、源代码编译、LNMP一键脚本等方式安装Nginx,这里我使用 军哥的lnmp一键脚本配置 来搭建本服务器终端的LNMP环境。
配置虚拟主机:参见 http://lnmp.org/faq/lnmp-vhost-add-howto.html ,lnmp原作者的方法已经很详细了,这里就不买丑了~
(只需要反代的话,就直接在Nginx配置目录中添加conf配置文件即可,不一定需要通过下列命令创建。
使用lnmp vhost add创建一个网址为“byr.rhilip.info”的虚拟主机,想要指向bt.byr.cn。因为是一个纯粹的反代服务,所以输入使用的domain后,剩下的选项一路No就好了~在域名提供商处添加A记录
配置Nginx核心文件
- 进入LNMP一键包的虚拟主机配置文件夹,找到刚刚创建的“byr.rhilip.info.conf”文件,并编辑(请自己百度vim编辑器的使用方法喵~)。
vi /usr/local/nginx/conf/vhost/byr.rhilip.info.conf
删除之前系统生成的代码,填入以下代码,注意修改server_name和proxy_pass部分。
1 | server |
条目解释:
server_name : 访问的代理网站地址
proxy_pass : 欲代理的网站地址
proxy_redirect :对发送给客户端的URL进行修改。在很多反代的教程中,我看到这里都是no,但是这种情况下,直接访问我们的代理网站地址,会被重定位到我们想要代理的网址,故而不能实现我们想要实现的功能;所以改成default(将根据location和proxy_pass参数的设置来决定url)~
proxy_set_header : 用于记录访问用户的真实IP地址
- 测试规则是否正确
/usr/local/nginx/sbin/nginx -t
若提示:“the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful”表示正常,若有错误请根据错误提示排除问题。
- 重载nginx规则
service nginx reload
屏蔽搜索引擎收录
因为该网站的特殊性,我们并不想让搜索引擎收录到这个反代域名。常见的反收录方法有robots.txt的方式,但是在我们的前一部设置,导致直接在域名文件夹中建立robots.txt的方式无效。所以我们需要使用其他的方式解决。
另外的一种方式就是在nginx的配置文件中用User-agents方式屏蔽常见的爬虫。在前面的conf文件的service字段中添加
1 | if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot") |
最终形成的xxx.rhilip.info.conf文件内容为:
1 | server |
重新执行命令service nginx reload,重载nginx规则。
最后,我们可以使用站长工具中的 搜索蜘蛛、机器人模拟抓取工具 来确定我们的屏蔽是否成功~
2018.01.24 更新
- 如果你需要解决反代图片显示问题,请使用 ngx_http_substitutions_filter_module ,并在location字段中添加
subs_filter src="https?://bt.byr.cn/ src="/ ir;即可。 - 如果你需要使用https方式访问你的反代域名,请考虑使用301的形式进行跳转。并可考虑将proxy_pass值改为 https://bt.byr.cn/ 。
如果你想同时实现v4纯挂钟(不建议),请考虑将你本地ut客户端的tracker地址中域名改为你建立的反代域名。(因为bt.byr.cn与tracker.byr.cn目前是alias的关系)
2018.09.05 更新
- 因为站点对单一IP总数有上限,故禁止反代用户使用signup.php访问。在进入反代的location前,先deny掉。
1 | location ~ signup\.php { deny all; } |
- 如果你的Nginx有lua模块,则可以使用lua模块输出相关提示信息。
1 | location ~ signup\.php { |
本人目前使用配置为
1 | root@Rhilip:~# cat /usr/local/nginx/conf/vhost/byr.rhilip.info.conf |
2019.09.30 更新
傻逼百度把本人反代站点排在“BYRBT”等搜索关键词的第一位,此外,登录和注册功能被某些二逼玩坏了(而且本人觉得这样挺好的)。
所以使用subs_filter方式,替换部分返回,当你访问本人反代的时候,会提示你如下信息:
给被百度坑害的孩子一个正确的链接。。。。
