Let's Encryp 部署 HTTPS
原谅我是个真•小白…… 折腾了一两天才大概搞明白,大神不要吐槽 。。
大概半个月前,我看到很多人都给自己网站上了HTTPS,我也打算自己试试,证书我选择的是 Let's Encrypt,一开始看到了Certbot工具,可能因为是国内服务器的原因,试了好长时间,一直卡在Python那里,换PIP源也没啥用,遂草草了事。前两天我在某群里提到此事,有人向我推荐了DNS 验证方式获取 lets-encrypt 证书,感觉好像很简单,所以又开始了尝试。下面是摘抄自作者的关于 DNSPOD
部署的详细步骤:
证书获取
DNSPOD
下载
*你可以自建个文件夹,在里面执行语句,密钥也会存放在这里*
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/le-dnspod.sh
wget https://github.com/xdtianyu/scripts/raw/master/le-dns/dnspod.conf
chmod +x le-dnspod.sh
配置
dnspod.conf
文件内容
TOKEN="YOUR_TOKEN_ID,YOUR_API_TOKEN"
RECORD_LINE="默认"
DOMAIN="example.com"
CERT_DOMAINS="example.com www.example.com im.example.com"
#ECC=TRUE
修改其中的 TOKEN
为您的 dnspod api token ,注意格式为123456,556cxxxx
。
修改 DOMAIN
为你的根域名,修改 CERT_DOMAINS
为您要签的域名列表,需要 ECC
证书时请取消 #ECC=TRUE
的注释。
运行
./le-dnspod.sh dnspod.conf
最后生成的文件在当前目录的 certs 目录下
定时任务
如果证书过期时间不少于30天, letsencrypt.sh 脚本会自动忽略更新,所以至少需要29天运行一次更新。
每隔20天(每个月的5号和25号)自动更新一次证书,可以在 le-dnspod.sh
脚本最后加入 service nginx reload等重新加载服务。
0 0 5/20 * * /etc/nginx/le-dnspod.sh /etc/nginx/le-dnspod.conf >> /var/log/le-dnspod.log 2>&1
注意 ubuntu 16.04 不能定义 day of month 含有开始天数的 step values,可以替换命令中的 5/20 为 5,25。
nginx配置
我直接把我的配置贴出来吧,/usr/local/nginx/conf/vhost下面,简单明了,提供参考。
server
{
listen 443 ssl;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_certificate /path/fullchain.pem;
ssl_certificate_key /path/privkey.pem;
#listen [::]:80;
server_name ABC.com;
index index.html index.htm index.php default.html default.htm default.php;
root /path;
include other.conf;
#error_page 404 /404.html;
include enable-php.conf;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /\.
{
deny all;
}
access_log off;
}
server {
server_name ABC.com;
listen 80;
location / {
return 301 https://ABC.com$request_uri;
}
}
重载Nginx,不出意外的话,你的网站就会有一把小绿锁了(当然你要想办法处理一些外部引入的HTTP资源)。
301
关于301重定向还有一种方法是在server_name ABC.com;
下面加以下代码,不过听大神说上面买的方法更正规一点。
if ($host != 'ABC.com' ) {
rewrite ^/(.*)$ http://ABC.com/$1 permanent;
}
在线解析
传送门:解忧杂货店,解析接口来自网络,自己画了一个界面,不过实在太丑了,zhaoy 大佬重绘了一下,感觉好看多了,自己做了点小修改,可以看看一些网站的VIP视频,然并卵系列 (-_-)zz
蛋疼
我对HTTPS真是既爱又恨,你懂的,我再考虑考虑要不要上HTTPS。。