發表日期:2018-09 文章編輯:小燈 瀏覽次數:3499
如今https已經是大勢所趨,https擁有很多優點,傳輸加密不會被運營商劫持;微信小程序已經強制要求https,google明確表示https站點的權重相比于http要高。如果不想再看到右下角討厭的彈窗廣告,那么https將是你的首選。
https的類型大致分為以下三種類型:
OVSSL和EVSSL收費昂貴,安全程度較高,一般適合企業和金融級別的產品,比如企業站點和銀行站點。目前ssl證書做的最好的是Symantec,Digicert于2017年12月1日 ,完成對Symantec證書服務的并購,所以目前大部分企業用的都是digicert的服務。但是對于個人站點來說,購買如此昂貴的ssl證書實在不劃算。
這是阿里云上ssl證書的收費價格,這個價格對于個人站點來說顯然是高了,阿里云之前提供過免費的個人站點ssl證書,但是最近已經把入口隱藏了,估計不會再提供免費的ssl證書了。
那么對于個人站長來說,有沒有性價比高的ssl證書呢?顯然是有的。Let's Encrypt是由Mozilla、Cisco、Akamai、IdenTrust、EFF等組織人員發起,主要的目的也是為了推進網站從HTTP向HTTPS過度的進程。
我申請的方式是通過certbot腳本的方式申請的,certbot相當于做了一套自動化申請的方式,不用人工去做審核了。首先需要創建自己的站點,如果還沒有站點請看這篇文章,有非常詳細的介紹。
在安裝完nginx和部署完自己的站點后,就可以安裝letsencrypt了。首先需要確保服務器的443端口需要打開,如果是阿里云服務器,請先到安全組規則中打開443端口。
yum install -y epel-release yum install -y certbot
完成之后,使用certbot申請證書:
# 使用方法:certbot certonly --webroot -w [站點目錄] -d [域名] -m [email地址] --agree-tos # 例子: certbot certonly --webroot -w /website/blog/ -d www.similarnote.com -m similarnote@gmail.com --agree-tos
我在執行這段命令的時候還遇到了一個錯誤,錯誤如下:
這個錯誤貌似是因為phyton版本的問題引起的,如果出現這個錯誤,那么運行下如下的命令:
pip install --upgrade --force-reinstall 'requests==2.6.0' urllib3
email地址填寫真實的email地址,因為letsencrypt會向你發送一封確認郵件,并且在證書快過期時,letsencrypt會向你發送過期郵件提醒。申請成功后,你會看到類似以下的一段信息,這表明申請成功了。
IMPORTANT NOTES:- Congratulations! Your certificate and chain have been saved at.......Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donateDonating to EFF:https://eff.org/donate-le
證書保存的位置:
/etc/letsencrypt/live/www.testdomain.com/
letsencrypt證書的有效期默認是90天,我們可以使用crontab表達式定期更新,更新證書的命令:
certbot renew --dry-run
設置證書定期更新,首先打開crontab:
crontab -e
再輸入以下命令:
00 05 01 * * /usr/bin/certbot renew >> /var/log/letsencrypt/renew.log
這個時間可以自己設置,一般設置為每月運行一次,上述表達式將在每月的1號凌晨5點執行,執行的日志將會被保存在renew.log中。
Perfect Forward Security是什么,可以看這里,這個東西很難說清楚,畢竟不是專業人士,簡而言之就是:反正很厲害,裝上就行了。
mkdir /etc/ssl/private/ -p cd /etc/ssl/private/ openssl dhparam 2048 -out dhparam.pem
這里我就以我自己站點的配置來舉例:
# 如果你想把普通http的訪問跳轉到https,那么配置下301永久跳轉 server { listen 80 default_server; listen [::]:80 default_server; server_namewww.similarnote.com similarnote.com; return 301 https://www.similarnote.com$request_uri;# Load configuration files for the default server block. include /etc/nginx/default.d/*.conf;location / { }error_page 404 /404.html; location = /40x.html { }error_page 500 502 503 504 /50x.html; location = /50x.html { } }# 這個節點才是配置ssl的 server { listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; # 填寫你的域名 server_namewww.similarnote.com; # 你的網址路徑 root /website/blog/similarnote.com/; indexindex.html index.htm index.txt;# 以下換成你的公私鑰地址 ssl_certificate /etc/letsencrypt/live/www.similarnote.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.similarnote.com/privkey.pem;# session緩存大小,1mb大概存儲4000個會話,根據自己站點情況設置 ssl_session_cache shared:SSL:2m; ssl_session_timeout30m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_session_tickets on;ssl_dhparam /etc/ssl/private/dhparam.pem;location / { }error_page 404 /404.html; location = /40x.html { }error_page 500 502 503 504 /50x.html; location = /50x.html { } }
至此,已經完成了所有https的配置步驟了,效果可以看這里。
日期:2018-04 瀏覽次數:6761
日期:2017-02 瀏覽次數:3435
日期:2017-09 瀏覽次數:3654
日期:2017-12 瀏覽次數:3526
日期:2018-12 瀏覽次數:4815
日期:2016-12 瀏覽次數:4582
日期:2017-07 瀏覽次數:13642
日期:2017-12 瀏覽次數:3505
日期:2018-06 瀏覽次數:4265
日期:2018-05 瀏覽次數:4442
日期:2017-12 瀏覽次數:3556
日期:2017-06 瀏覽次數:3979
日期:2018-01 瀏覽次數:3941
日期:2016-12 瀏覽次數:3908
日期:2018-08 瀏覽次數:4423
日期:2017-12 瀏覽次數:3705
日期:2016-09 瀏覽次數:6404
日期:2018-07 瀏覽次數:3205
日期:2016-12 瀏覽次數:3230
日期:2018-10 瀏覽次數:3377
日期:2018-10 瀏覽次數:3479
日期:2018-09 瀏覽次數:3577
日期:2018-02 瀏覽次數:3595
日期:2015-05 瀏覽次數:3518
日期:2018-09 瀏覽次數:3305
日期:2018-06 瀏覽次數:3433
日期:2017-02 瀏覽次數:3869
日期:2018-02 瀏覽次數:4334
日期:2018-02 瀏覽次數:4171
日期:2016-12 瀏覽次數:3571
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.