免费网站反向代理系统程序–zmirror
准备工作:
推荐系统为:Ubuntu 16.04
一键自动安装:
使用zmirror快速部署镜像的脚本
如果无法部署成功, 可以尝试手动部署: 手动部署zmirror
前置需求
一台墙外VPS, OpenVZ/Xen/KVM均可
操作系统:
支持的操作系统:
Ubuntu 14.04/15.04(不支持HTTP2)/15.10/16.04+
Debian 8 (不支持HTTP/2)
不支持 CentOS/RHEL/Windows/Fedora/Arch/… 对于这些系统, 可以使用由yumin9822提供的这个脚本
推荐的操作系统:
Ubuntu 16.04 x86_64
全新(刚安装完成)的操作系统. 如果系统中有其他东西, 可能会产生冲突
root权限
域名
每个镜像要求一个三级域名(类似于g.zmirrordemo.com这样的, 有三部分, 两个点)
域名已经在DNS记录中正确指向你的VPS
运行方法
我没有SSL证书 (如果不懂, 请使用这个)
然后按照脚本给予的提示继续, 过程中会自动获取SSL证书
如果有不懂的, 可参考下面的安装视频
如果遇到bug, 请发issues提出
我已有SSL证书
如果已有证书, 希望使用自己提供的证书, 而不是通过 let’s encrypt 获取
请将上面代码中的第四行替换成下面的样子, 在运行期间会提示你输入证书路径的:
警告
不支持加密的私钥, 如果私钥有密码加密, 请先解密
安装过程视频
特性
支持一次部署多个镜像, 支持同VPS多镜像
自动安装 let’s encrypt 并申请证书, 启用HTTPS
自动添加 let’s encrypt 的定期renew脚本到crontab
启用HTTP/2 ps:Debian8和Ubuntu15.04不支持HTTP/2
启用HSTS
手动安装教程:
本教程使用zmirror自带的配置文件, 在一台全新安装的Ubuntu服务器上部署部署支持HTTPS和HTTP/2的zmirror镜像
本教程以Google镜像为例
适用于 Ubuntu 14.04/15.10/16.04+
建议的系统是 Ubuntu16.04-x86_64
暂时没有撰写CentOS系/win/Mac下的部署教程
部署有困难的请将VPS重装为Ubuntu
暂时只能手动部署, 自动部署脚本 zmirror-onekey 仍在开发中, 欢迎贡献代码
部署完成后的镜像使用Apache2.4.23, 会启用HTTPS, 并且使用HTTP/2来提升访问性能
在教程中使用 let’s encrypt 来获取HTTPS证书
前置需求
一台国外的服务器
Ubuntu 14.04/15.10/16.04+
建议的系统为 Ubuntu16.04-x86_64
全新安装的系统
一个已经解析到你服务器的三级域名, 不支持中文域名
三级域名指类似于这样的: g.mydomain.com 域名里有两个点, 三部分的
至于如何将域名解析到你的服务器, 请自行Google相关说明
本教程以 lovelucia.zmirrordemo.com 为例
安装操作
如果部署中出现任何问题或者不清楚的地方
请 点此发issue 提出
或者在 gitter 中请求实时帮助, 可以点击右边的图标进入gitter聊天室 Gitter
您会被加入到 CONTRIBUTORS.md 的贡献者列表中
安装初始化环境
以下脚本可以直接整个原样复制黏贴到terminal中运行
每一行最后的&&表示本行执行成功后继续执行下一行
安装Apache2
由于ubuntu14.04和16.04自带的Apache2均不支持HTTP/2, 所以需要安装不依赖ubuntu的最新版的Apache2
同样, 下面的脚本也可以原样粘贴到terminal中运行
使用PPA中最新版的Apache2, 覆盖掉自带的源, 之后也支持使用apt-get来升级或者卸载
安装并配置zmirror本身
假设将zmirror安装到 /var/www/zmirror
本教程以部署Google镜像为例
即使用这个配置文件 more_configs/config_google_and_zhwikipedia.py
之后需要手动修改 config.py, 在里面加上自己的域名
在大约第38行开始处, 的
修改为如下, 修改两行, 添加一行
请将其中的lovelucia.zmirrordemo.com替换为你是自己实际的域名
新添加的 verbose_level = 2 这一行, 把zmirror的日志级别设置为Warning, 减少日志产生量.
默认是3级, 会产生大量debug日志
安装let’s encrypt并获得证书
证书来源
本教程使用let’s encrypt证书, 获取非常快, 但是有效期只有90天, 到期前需要重新获取
你也可以使用 startSSL 或者 沃通 的免费SSL证书
有效期分别为一年和两年
请将下面脚本中 lovelucia.zmirrordemo.com 域名修改为你自己的域名, 修改后能直接复制进去运行
为保证兼容性, 本教程使用standalone模式获取证书, 所以需要先停掉apache(包含在下面脚本中了)
如果一切顺利, 此时你应该能看到如下的输出:
表示SSL证书已经成功获取, 并且已经存到了 /etc/letsencrypt/live/lovelucia.zmirrordemo.com/ 目录中
配置Apache2
现在需要给Apache2添加配置文件
使用apt-get安装的情况下, apache2的配置文件存放在/etc/apache2/中
下面下载的这个配置文件包含了一些功能和性能的优化, 如Gzip, 修改自h5bp
然后进入/etc/apache2/sites-enabled文件夹,
创建一个my-first-mirror-site.conf文件, 内容如下(记得修改对应的域名和文件夹等东西)
######### SSL部分 这部分告诉Apache你的证书和私钥在哪
下面使用的是刚刚let’s encrypt给我们的证书, 你也可以用别的
完成
很好, 所有部署工作已经完成了!
现在只需要重启一下Apache即可
存在的一个小问题
按照上面的配置完成后, https的网站是可以直接访问了, 但是访问http无法直接跳转到https.
请在 /etc/apache2/sites-enabled/000-default.conf 中加入以下设置, 使得HTTP能自动跳转到HTTPS
加在<VirtualHost></VirtualHost>括起来范围的里面