Skip to content
WONGCW 網誌
  • 首頁
  • 論壇
  • 微博
  • 壁紙下載
  • 免費圖床
  • 視頻下載
  • 聊天室
  • SEO工具
  • 支援中心
  • 表格製作
  • More
    • 在線名片
    • 網頁搜索
    • 天氣預報
    • 二維碼生成器
    • WordPress 插件及主題下載
  • Search Icon

WONGCW 網誌

記錄生活經驗與點滴

免费网站反向代理系统程序–zmirror

免费网站反向代理系统程序–zmirror

2018-10-21 Comments 0 Comment

准备工作:

推荐系统为: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证书 (如果不懂, 请使用这个)

sudo apt-get -y update && sudo apt-get -y install python3 git
git clone https://github.com/aploium/zmirror-onekey.git --depth=1
cd zmirror-onekey
sudo python3 deploy.py

然后按照脚本给予的提示继续, 过程中会自动获取SSL证书
如果有不懂的, 可参考下面的安装视频
如果遇到bug, 请发issues提出

我已有SSL证书
如果已有证书, 希望使用自己提供的证书, 而不是通过 let’s encrypt 获取
请将上面代码中的第四行替换成下面的样子, 在运行期间会提示你输入证书路径的:

sudo python3 deploy.py --i-have-cert

警告
不支持加密的私钥, 如果私钥有密码加密, 请先解密
安装过程视频

特性

支持一次部署多个镜像, 支持同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中运行
每一行最后的&&表示本行执行成功后继续执行下一行

sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime &&
sudo apt-get update &&
sudo apt-get upgrade -y &&
sudo apt-get dist-upgrade -y &&
sudo apt-get install build-essential patch binutils make devscripts nano libtool libssl-dev libxml2 libxml2-dev software-properties-common python-software-properties dnsutils git wget curl python3 python3-pip iftop -y &&
sudo python3 -m pip install -U flask requests cchardet fastcache

安装Apache2

由于ubuntu14.04和16.04自带的Apache2均不支持HTTP/2, 所以需要安装不依赖ubuntu的最新版的Apache2
同样, 下面的脚本也可以原样粘贴到terminal中运行

LC_ALL=C.UTF-8 sudo add-apt-repository -y ppa:ondrej/apache2 &&
sudo apt-key update &&
sudo apt-get update &&
sudo apt-get upgrade -y &&
sudo apt-get install apache2 -y &&
sudo a2enmod rewrite mime include headers filter expires deflate autoindex setenvif ssl http2 &&
sudo apt-get install libapache2-mod-wsgi-py3 -y

使用PPA中最新版的Apache2, 覆盖掉自带的源, 之后也支持使用apt-get来升级或者卸载

安装并配置zmirror本身

假设将zmirror安装到 /var/www/zmirror

本教程以部署Google镜像为例
即使用这个配置文件 more_configs/config_google_and_zhwikipedia.py

cd /var/www &&
git clone https://github.com/aploium/zmirror &&
cd zmirror &&
chown -R www-data . && 
chgrp -R www-data . &&
cp more_configs/config_google_and_zhwikipedia.py config.py

之后需要手动修改 config.py, 在里面加上自己的域名

在大约第38行开始处, 的

# ############## Local Domain Settings ##############
my_host_name = '127.0.0.1'
my_host_scheme = 'http://'

修改为如下, 修改两行, 添加一行

# ############## Local Domain Settings ##############
my_host_name = 'lovelucia.zmirrordemo.com'
my_host_scheme = 'https://' # 注意把上面这行的http改成https
verbose_level = 2

请将其中的lovelucia.zmirrordemo.com替换为你是自己实际的域名

新添加的 verbose_level = 2 这一行, 把zmirror的日志级别设置为Warning, 减少日志产生量.
默认是3级, 会产生大量debug日志
安装let’s encrypt并获得证书

证书来源
本教程使用let’s encrypt证书, 获取非常快, 但是有效期只有90天, 到期前需要重新获取
你也可以使用 startSSL 或者 沃通 的免费SSL证书
有效期分别为一年和两年
请将下面脚本中 lovelucia.zmirrordemo.com 域名修改为你自己的域名, 修改后能直接复制进去运行
为保证兼容性, 本教程使用standalone模式获取证书, 所以需要先停掉apache(包含在下面脚本中了)

sudo service apache2 stop &&
cd ~ &&
git clone https://github.com/certbot/certbot &&
cd certbot &&
./certbot-auto certonly --agree-tos -t --standalone -d lovelucia.zmirrordemo.com

如果一切顺利, 此时你应该能看到如下的输出:

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/lovelucia.zmirrordemo.com/fullchain.pem. Your cert
will expire on 2016-10-30. To obtain a new or tweaked version of
this certificate in the future, simply run certbot-auto again. To
non-interactively renew *all* of your certificates, run
"certbot-auto renew"
- If you like Certbot, please consider supporting our work by:

Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

表示SSL证书已经成功获取, 并且已经存到了 /etc/letsencrypt/live/lovelucia.zmirrordemo.com/ 目录中

配置Apache2

现在需要给Apache2添加配置文件
使用apt-get安装的情况下, apache2的配置文件存放在/etc/apache2/中

下面下载的这个配置文件包含了一些功能和性能的优化, 如Gzip, 修改自h5bp

cd /etc/apache2/conf-enabled &&
wget https://gist.githubusercontent.com/aploium/8cd86ebf07c275367dd62762cc4e815a/raw/29a6c7531c59590c307f503b186493e559c7d790/h5.conf

然后进入/etc/apache2/sites-enabled文件夹,
创建一个my-first-mirror-site.conf文件, 内容如下(记得修改对应的域名和文件夹等东西)

<IfModule mod_ssl.c>
SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5
<VirtualHost *:443>
# 域名, 记得修改成你自己的
ServerName lovelucia.zmirrordemo.com

# 这个没用的
ServerAdmin root@localhost
# 下面两个log文件路径也建议按实际修改
# 默认保存在 /var/log/apache2/ 文件夹下
# ErrorLog 中包含了zmirror产生的stdout输出, 若需要debug可以看它
ErrorLog ${APACHE_LOG_DIR}/zmirror-google_ssl_error.log
CustomLog ${APACHE_LOG_DIR}/zmirror-google_ssl_access.log combined
# ##### WSGI 这部分是重点 ######
WSGIDaemonProcess zmirror_google user=www-data group=www-data threads=16
#这是刚刚安装的zmirror的路径
WSGIScriptAlias / /var/www/zmirror/wsgi.py
WSGIPassAuthorization On
# 给予zmirror文件夹权限
<Directory /var/www/zmirror>
WSGIProcessGroup zmirror_google
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>

######### SSL部分 这部分告诉Apache你的证书和私钥在哪

下面使用的是刚刚let’s encrypt给我们的证书, 你也可以用别的

SSLEngine on
# 私钥
SSLCertificateFile /etc/letsencrypt/live/lovelucia.zmirrordemo.com/cert.pem
# 证书
SSLCertificateKeyFile /etc/letsencrypt/live/lovelucia.zmirrordemo.com/privkey.pem
# 证书链
SSLCertificateChainFile /etc/letsencrypt/live/lovelucia.zmirrordemo.com/chain.pem

# HTTP/2
<IfModule http2_module>
Protocols h2 h2c http/1.1
</IfModule>
</VirtualHost>
</IfModule>

完成

很好, 所有部署工作已经完成了!
现在只需要重启一下Apache即可

sudo service apache2 restart

存在的一个小问题

按照上面的配置完成后, https的网站是可以直接访问了, 但是访问http无法直接跳转到https.
请在 /etc/apache2/sites-enabled/000-default.conf 中加入以下设置, 使得HTTP能自动跳转到HTTPS
加在<VirtualHost></VirtualHost>括起来范围的里面

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
</IfModule>

分享此文:

  • 分享到 Twitter(在新視窗中開啟)
  • 按一下以分享至 Facebook(在新視窗中開啟)
  • 分享到 WhatsApp(在新視窗中開啟)
  • 按一下以分享到 Telegram(在新視窗中開啟)
  • 分享到 Pinterest(在新視窗中開啟)
  • 分享到 Reddit(在新視窗中開啟)
  • 按一下即可分享至 Skype(在新視窗中開啟)
  • 按一下即可以電子郵件傳送連結給朋友(在新視窗中開啟)
  • 點這裡列印(在新視窗中開啟)

相關


教學資源

Post navigation

PREVIOUS
自建CDN的一种方案、反向代理缓存系统搭建教程
NEXT
搬瓦工官网bwh1.net已被DNS污染–附解决方案

發表迴響 取消回覆

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料。

More results...

Generic filters
Exact matches only
Search in title
Search in content
Search in excerpt
Filter by 分類
網站公告
Featured
限時免費
ESET NOD32
WINDOWS 10 &11 INSIDER PREVIEW
Windows 軟件下載
系統軟件
辦公軟件
圖像處理
影音媒體
網絡軟件
應用軟件
Mac 軟件下載
安卓軟件下載
網絡資訊
Mac資訊
Linux資訊
VPS資訊
NASA資訊
金融資訊
WhatsApp Stickers教學
WordPress資訊
WeChat資訊
PHP資訊
Plesk資訊
TensorFlow
教學資源
開源程序
網頁工具
SEO工具
醫療健康
旅遊及消閒
其他資訊
Content from
Content to
2018 年 10 月
一 二 三 四 五 六 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 9 月   11 月 »

分類

  • 網站公告
  • 限時免費
  • ESET NOD32
  • WINDOWS 10 &11 INSIDER PREVIEW
  • Windows 軟件下載
  • 系統軟件
  • 辦公軟件
  • 圖像處理
  • 影音媒體
  • 網絡軟件
  • 應用軟件
  • Mac 軟件下載
  • 安卓軟件下載
  • 網絡資訊
  • Mac資訊
  • Linux資訊
  • VPS資訊
  • NASA資訊
  • WhatsApp Stickers教學
  • WordPress資訊
  • WeChat資訊
  • PHP資訊
  • Plesk資訊
  • TensorFlow
  • 教學資源
  • 開源程序
  • 網頁工具
  • SEO工具
  • 醫療健康
  • 旅遊及消閒
  • 其他資訊

彙整

近期文章

  • 《Apex英雄》手游和《戰地》手游都被EA取消 2023-02-01
  • 吉利旗下車企官宣借殼上市推動全球前兩大富豪“會師”電動車賽道 2023-02-01
  • 兩名SpaceX宇航員將獲得美國國會太空榮譽勳章 2023-02-01
  • NASA正為阿特米斯2號人類登月任務建造140萬加侖的巨大燃料箱 2023-02-01
  • 新發明的壓力感應手套可能有助於減少發展中國家民眾分娩失敗的悲劇 2023-02-01
  • 研究人員利用量子力學不看物體也能“看到”物體 2023-02-01
  • Gmail的創建者稱人工智能可能在兩年內顛覆谷歌的業務 2023-02-01
  • PayPal將在未來幾週內裁減2000名員工約佔總數的7% 2023-02-01
  • 美國冬季風暴捲土重來:4千萬人受影響近千航班被取消 2023-02-01
  • 消息稱蘋果正在研發20.5英寸全屏可折疊筆記本將於2025年上市 2023-02-01

熱門文章與頁面︰

  • ESET NOD32 LICENSE KEY (UPDATED 2023-01-17)
  • DP vs HDMI 誰才是遊戲玩家最佳選擇?
  • ESET NOD32 LICENSE KEY (UPDATED 2022-01-01)
  • Explorer Patcher:讓Windows 11恢復Windows 10的行為特徵
  • 盜版Windows 7還能免費升級Windows 10嗎?
  • 打車叫到特斯拉不會開門很尷尬?官方介紹開關門方法
  • 揭密蘋果製造工廠:每年的支出可以造兩艘航母
  • 小米MIUI12(安卓11)安裝谷歌套件(GMS/Google Play)
  • Google Chrome瀏覽器意外出現Status_Access_Violation錯誤而崩潰
  • 世界上有多少個國家

投遞稿件

歡迎各界人士投遞稿件到admin@wongcw.com

請提供以下資料:

1.你的名字

2.你的電郵

3.分類目錄

4.文章標題

5.文章摘要

6.文章內容

7.文章來源

 

聯繫我們

查詢,投稿,商務合作:
​admin@wongcw.com
​技術支援:
​support@wongcw.com
​客户服務:
​cs@wongcw.com

QQ群:833641851

快帆

MALUS

極度掃描

DMCA.com Protection Status

WONGCW 網誌

  • 免責聲明
  • 捐助我們
  • ThemeNcode PDF Viewer
  • ThemeNcode PDF Viewer SC
  • Events

服務器提供

本站使用之服務器由ikoula提供。

聯繫我們

查詢,投稿,商務合作:
​admin@wongcw.com
​技術支援:
​support@wongcw.com
​客户服務:
​cs@wongcw.com

QQ群:833641851

© 2023   All Rights Reserved.
X