Let's Encrypt简介
Let's Encrypt作为一个公共且免费SSL的项目逐渐被广大用户传播和使用,是由Mozilla、Cisco、Akamai、IdenTrust、EFF等组织人员发起,主要的目的也是为了推进网站从HTTP向HTTPS过度的进程,目前已经有越来越多的商家加入和赞助支持。
參考資料:
Let’s Encrypt官網
EFF's Certbot
1.安装certbot
yum -y install yum-utils
yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional
sudo yum install python2-certbot-apache
2.生成的证书與配置Apache
sudo certbot --apache
執行過程:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): **輸入郵箱地址**
Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org
-------------------------------------------------------------------------------
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v01.api.letsencrypt.org/directory
-------------------------------------------------------------------------------
(A)gree/(C)ancel: **輸入A同意服务条款**
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: **是否接收相關郵件**
Starting new HTTPS connection (1): supporters.eff.org
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
**這裡將列出網站相關網址**
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): ** 選擇網站 **
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for **網站網址**
Waiting for verification...
Cleaning up challenges
Created an SSL vhost at /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Created an SSL vhost at /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Deploying Certificate to VirtualHost /etc/httpd/conf.d/httpd-vhosts-le-ssl.conf
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): **是否全部導向https**
-------------------------------------------------------------------------------
Congratulations! You have successfully enabled **網站網址**
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=**網站網址**
-------------------------------------------------------------------------------
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/**網站網址**/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/**網站網址**/privkey.pem
Your cert will expire on 2018-09-23. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
3.防火牆打開https
firewall-cmd --add-service=https --permanent
systemctl restart firewalld #重啟防火牆設定
4.測試
除了自己用瀏覽器打開https://網址以外,還可以用外部服務檢查,例如:5.排程自動更新
Let’s Encrypt有90天的有效期,必須定時更新,certbot也有這功能,只要在系統排程裡加入下面設定:
0 0,12 * * * python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew