Mar
11
Let's Encrypt项目进入Public Beta已经好久拉,不过因为使用dnspod作为域名的解析服务提供商,该项目官方刚开始的时候并不被支持(总是报错),所以拖了好久,今天才终于搞起来。
用起来还真是超简单:
1. 获取证书
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto certonly -w /path/to/www-root felix021.com www.felix021.com
没有什么意外的话,获取到的证书就存在 /etc/letsencrypt/live/felix021.com/ 下面
2. 配置nginx
最简单的就是加上三行:
但是比较推荐的做法是增加一个80端口redirect到https的配置:
然后执行 service nginx reload ,就生效了。
p.s. 对于我使用的bo-blog博客系统,还有一个坑,就是需要在blog设置里面将URL路径的http换成https,否则使用相对路径引用的css等静态文件资源还是会引用到http去(这是多么奇葩的一个特性啊...)
3. 定期更新
该项目提供的整数有效期只有90天,似乎短了点,但是实际上因为提供了命令行自动更新的方式,并不会造成多大困然,反而可以缩短因为证书泄漏而导致的风险期(貌似也提供了revoke功能,不过我没尝试)。因此官方宣称证书的有效期未来可能会进一步缩短。
想要renew证书,最直接的方式就是前面的certonly命令带上完整参数再跑一次。官方还提供了一个更简单的"letsencrypt renew"命令,会读取上次的配置来重新获取证书。
基于此可以写一个简单的renew脚本,放到root的crontab里,每个月跑一次就好拉。记得renew完要service nginx reload就好啦。
转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php 。
用起来还真是超简单:
1. 获取证书
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt
$ ./letsencrypt-auto certonly -w /path/to/www-root felix021.com www.felix021.com
没有什么意外的话,获取到的证书就存在 /etc/letsencrypt/live/felix021.com/ 下面
2. 配置nginx
最简单的就是加上三行:
引用
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/felix021.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/felix021.com/privkey.pem;
ssl_certificate /etc/letsencrypt/live/felix021.com/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/felix021.com/privkey.pem;
但是比较推荐的做法是增加一个80端口redirect到https的配置:
引用
server {
listen 80;
server_name felix021.com www.felix021.com;
return 301 https://www.felix021.com$request_uri;
}
listen 80;
server_name felix021.com www.felix021.com;
return 301 https://www.felix021.com$request_uri;
}
然后执行 service nginx reload ,就生效了。
p.s. 对于我使用的bo-blog博客系统,还有一个坑,就是需要在blog设置里面将URL路径的http换成https,否则使用相对路径引用的css等静态文件资源还是会引用到http去(这是多么奇葩的一个特性啊...)
3. 定期更新
该项目提供的整数有效期只有90天,似乎短了点,但是实际上因为提供了命令行自动更新的方式,并不会造成多大困然,反而可以缩短因为证书泄漏而导致的风险期(貌似也提供了revoke功能,不过我没尝试)。因此官方宣称证书的有效期未来可能会进一步缩短。
想要renew证书,最直接的方式就是前面的certonly命令带上完整参数再跑一次。官方还提供了一个更简单的"letsencrypt renew"命令,会读取上次的配置来重新获取证书。
基于此可以写一个简单的renew脚本,放到root的crontab里,每个月跑一次就好拉。记得renew完要service nginx reload就好啦。
欢迎扫码关注:
转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php 。