? Editing: Post:21.body Save Delete Cancel
Content changed Sign & Publish new content

叶清浅

万家灯火,哪一盏是为我.

Follow in NewsfeedFollowing

Latest comments:

在VPS上搭建https的ZeroNet反向代理

on Nov 03, 2018
参考文献:
以获得原作者授权,侵删。
如转载请注明出处
如果你有以下几点需求:

1. 让别人更方便地访问到你的博客,但不能一直开启电脑;
2. 方便随时随地访问ZeroNet;
3. 将ZeroNet分享给嫌麻烦朋友

那么我的这篇教程将会对你有一定的帮助
系统支持:CentOS7
内存要求: 512M
安装思路:先在CentOS7上安装Nginx并部署Let's Encrypt免费SSL证书
再为Nginx配置指向ZeroNet的反向代理
注意事项:为了增强安全性,搭建的是HTTPS服务器,因此需要有一个自 己的域名并解析到服务器的IP,下文的配置过程中我将以lmkz.com为例还请自行替换
一、安装Nginx版certbot客户端
1. 安装certbot之前先需要安装EPEL软件源

sudo yum install epel-release

2.安装Nginx版certbot

sudo yum install certbot-nginx

二、安装Nginx并进行配置

1.安装Nginx

sudo yum install nginx

2.启动Nginx

sudo systemctl start nginx

3.修改主机配置文件并绑定域名

sudo vim /etc/nginx/nginx.conf

4.找到 server_name 参数并将其修改为

server_name zeronet.lmkz.com;

5. 保存退出后测试配置文件语法是否正确

sudo nginx -t

6.如果问题的话重启一下Nginx

sudo systemctl reload nginx

三、 设置防火墙放行规则

如果你使用的是firewalld防火墙,使用以下命令

firewall-cmd --add-service=http

firewall-cmd --add-service=https

firewall-cmd --runtime-to-permanent

如果使用的是iptables防火墙则使用以下命令

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

四、获取SSL证书

1.执行命令

sudo certbot --nginx

进行这一步时,可能会出现问题

ImportError: No module named 'requests.packages.urllib3'

查找之后发现这是由于python的模块版本的问题,运行以下命令解决

<span class="pln">sudo pip</span> <span class="pln">install requests urllib3 pyOpenSSL</span> <span class="pun">--</span><span class="pln">force</span> <span class="pun">--</span><span class="pln">upgrade</span> <span class="pln">sudo pip</span> <span class="pln">install --upgrade</span> <span class="pun">--</span><span class="pln">force</span><span class="pun">-</span><span class="pln">reinstall</span> <span class="str">'requests==2.6.0'</span>

2.输入邮箱并继续

3.阅读服务条款(按A同意)并继续

4.决定是否接受推广邮件(按Y/N选择是否接受)并继续

5.确定激活域名(按Enter同意)并继续

6.选择将http流量重定向到https而删除http访问(按2)结束

五、配置Diffie-Hellman以增强安全性

1.用openssl创建文件

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

2.修改配置文件

sudo vim /etc/nginx/nginx.conf

向https所属的server{}中加入这行参数

ssl_dhparam /etc/ssl/certs/dhparam.pem;

3.保存退出后测试配置文件语法是否正确

sudo nginx -t

4.重启Nginx

sudo systemctl reload nginx

六、设置证书自动续期

1. 使用cron执行定时命令

sudo crontab -e

2.添加以下内容

15 3 7 * * /usr/bin/certbot renew --quiet

前五个数据分别是分、时、日、月、年

15 3 7 * *参数的意思是每个月7号早上3:15执行任务, renew 命令是certbot续期命令, --quiet 参数让certbot不做任何信息输出

未完待续……

登录页面

Read more

New blog post

on Nov 03, 2018

Blog post body

Read more

Congratulations!

on May 31, 2015

Your zeronet blog has been successfully created!

Read more
Add new post

Title

21 hours ago · 2 min read ·
3 comments
Body
Read more

Not found

Title

21 hours ago · 2 min read

0 Comments:

user_name1 day ago
Reply
Body
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More