記錄下部署免費https的過程 ,使用Let's Encrypt的免費證書
下載自動安裝腳本`wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto`html
./certbot-auto --nginx
這裏會下載一些東西,讓後讓你選擇你須要加https的域名,這個域名是在nginx.conf
中配置的server
中讀取到的。注意選擇的域名只能是備案過的那個域名。由於這個腳本會到DNS
服務器去查這個域名對應的ip
服務器。對不上也是不會給頒發證書的。
![]()
http
的請求重定向到https
。直接選擇2
就行到這裏已經配置成功了,訪問下網站就能夠看效果了。
點擊那個鎖還能夠看到關於證書的詳細信息
![]()
![]()
其實這腳本就是至關於一鍵安裝包,幫你申請https證書,而後下載到服務器存放,而後在把證書配置到nginx.conf
裏邊。打開nginx.conf
就能看到新增的配置信息。nginx
listen 443 ssl http2; # managed by Certbot ssl_certificate /etc/letsencrypt/live/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot # Redirect non-https traffic to https if ($scheme != "https") { return 301 https://$host$request_uri; #該狀態代碼301告訴瀏覽器(和搜索引擎)這是永久重定向。這使瀏覽器記住重定向,以便下次訪問時,瀏覽器將在內部進行重定向 }# managed by Certbot }
因爲Let's Encrypt這個證書90天后就過時了,能夠使用cron作一個定時任務,由於我這個證書是18號申請的,因此每一個月的19號就執行一次,執行crontab -e
後會進入個文件輸入0 0 19 * * ./path/to/certbot-auto renew
crontab -e的五個參數分別表明,分鐘、小時、天、月、周。centos
https://certbot.eff.org/lets-encrypt/centos6-nginx
https://bjornjohansen.no/redirect-to-https-with-nginx
http://nginx.org/en/docs/http/ngx_http_core_module.html瀏覽器