• 欢迎访问寡人的吐槽胜地,我们真的只是吐槽,不谈技术,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站
  • 版权声明:大部分文章是从网上复制的!并不表示全部都是从网上复制的!
  • 我们将开启登录后才可以发表评论的限制,当然注册是完全开放的~

另一种利用Nginxi反向代理来简单镜像 HTTP(S)网站 的方法–dou-bi.co

技术类 大变态 2年前 (2016-10-19) 1750次浏览 已收录 0个评论 扫描二维码

安装 Nginx

安装 Nginx 有三种方式:编译、apt-get、直接安装 lnmp 一键包

在这里就介绍后两种吧,虽然 lnmp 一键包也是属于编译。

LNMP 一键包

当然,lnmp 一键包我还是推荐 军哥的 LNMP 一键包

  1. LNMP 一键包安装教程
  2. 添加虚拟主机

这种方法适合 懒得折腾的人,虽然因为安装编译的东西很多,时间一般都在半小时以上,如果不急的话,可以使用这个。毕竟这个安装完了,方便管理,而且也不仅仅拿来做镜像用,还可以放其他网站。

当然,如果你仅仅拿来做镜像,没打算放网站,那就是用下面的方法。

apt-get install nginx

这种直接从 apt-get 安装的方式,优点是 比编译安装速度快多了,一般不到两分钟就完成了。

系统要求:Debian 7

echo "deb http://packages.dotdeb.org wheezy all" >> /etc/apt/sources.list
apt-get update
apt-get install nginx
# 安装会提示输入两次 Y 来继续安装。

安装完毕之后输入nginx -v,查看 nginx 的版本,确定是否安装完成。

修改配置文件

以下教程 域名以 go.doubi.date 为例,被镜像网站以 www.baidu.com 为例

LNMP 一键包

如果,你暂时不需要其他的组件(Mysql php)那就先把他们关闭,只开启 Nginx。

lnmp stop
lnmp nginx start

根据这个教程 添加虚拟主机 后,就根据下面的虚拟主机配置文件位置,找到你的配置文件,然后修改。

/usr/local/nginx/conf/vhost/go.doubi.date.conf
# 自行套用为你的域名

按照下面的示例修改完毕后就重启 Nginx:

lnmp nginx restart

然后访问你的域名看一看是否成功镜像,需要注意的一点是,如果被镜像的网站设置了防盗链,那么静态文件(js/css/图片)可能无法显示,这就没办法了。

apt-get install nginx

找到下面这个文件,然后修改。

/etc/nginx/sites-available/default

按照下面的示例修改完毕后就重启 Nginx:

service nginx restart

然后访问你的域名看一看是否成功镜像,需要注意的一点是,如果被镜像的网站设置了防盗链,那么静态文件(js/css/图片)可能无法显示,这就没办法了。

HTTP 示例

以下示例是以 go.doubi.date 镜像 www.baidu.com 为例。自行替换 其中的参数:

server_name 你的域名;
sub_filter 欲被镜像的域名 你的域名;
proxy_set_header Referer http://欲被镜像的域名
proxy_set_header Host 欲被镜像的域名
proxy_pass http://欲被镜像的域名

第二段是 屏蔽搜索引擎收录,比如镜像自己的网站,如果不屏蔽会导致 收录流失。

server
{
listen 80;
server_name go.doubi.date;
if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}
location / {
sub_filter www.baidu.com go.doubi.date;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer http://www.baidu.com
proxy_set_header Host www.baidu.com
proxy_pass http://www.baidu.com
proxy_set_header Accept-Encoding "";
}
}

HTTPS 示例

当你要镜像的网站不开放 HTTP 或者强制 HTTPS 的时候,你就需要加上 SSL 来转成 HTTPS 了。

假设 SSL 证书文件位置是:/root/ssl.crt

假设 SSL 密匙文件位置是:/root/ssl.key

第二段的 301 代码是,强制走 HTTPS,如果不需要可以去掉。

第三段是 屏蔽搜索引擎收录,比如镜像自己的网站,如果不屏蔽会导致 收录流失。

同时下面这两个选项的记得把 http:// 改成 https:// 。

proxy_set_header Referer https://www.baidu.com
proxy_pass https://www.baidu.com
server
{
listen 80;
listen 443 ssl;
ssl on;
ssl_certificate /root/ssl.crt;
ssl_certificate_key /root/ssl.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
server_name go.doubi.date;
if ( $scheme = http ){
return 301 https://$server_name$request_uri;
}
if ($http_user_agent ~* (baiduspider|360spider|haosouspider|googlebot|soso|bing|sogou|yahoo|sohu-search|yodao|YoudaoBot|robozilla|msnbot|MJ12bot|NHN|Twiceler)) {
return 403;
}
location / {
sub_filter www.baidu.com go.doubi.date;
sub_filter_once off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Referer https://www.baidu.com
proxy_set_header Host www.baidu.com
proxy_pass https://www.baidu.com
proxy_set_header Accept-Encoding "";
}
}

本站大部分资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费内容,请在下载后 24 小时之内自觉删除,若作商业用途请购买正版;如果有版权争议,请发送邮件至 master@digac.cc(请留下写明原因和文章链接),我们将及时处理,谢谢!

喜欢 (1)
大变态
关于作者:
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
IP Blocking Protection is enabled by IP Address Blocker from LionScripts.com.