給網站配置免費的HTTS證書
https
的網站 Google
會優先收錄,所以就抽時間記錄下配置博客的過程。
ACME
使用 LetEncrypt
證書作為博客的 https
實現方式。
acme.sh?實現了?acme
?協議, 可以從 letsencrypt
生成免費的證書.
github https://github.com/Neilpang/acme.sh
主要步驟:
- 安裝?acme.sh
- 生成證書
- copy 證書到 nginx/apache 或者其他服務
- 更新證書
- 更新?acme.sh
- 測試 https
1. 安裝 acme.sh
安裝很簡單, 一個命令:
curl https://get.acme.sh | sh
普通用戶和 root 用戶都可以安裝使用. 安裝過程進行了以下幾步:
- 把 acme.sh 安裝到你的?home?目錄下:
cd ~/.acme.sh/
並創建 一個 bash
的 alias
, 方便你的使用:?alias acme.sh=~/.acme.sh/acme.sh
2). 自動為你創建 cronjob
, 每天 0:00 點自動檢測所有的證書, 如果快過期了, 需要更新, 則會自動更新證書.
2. 生成證書 並且完成驗證
acme.sh
?實現了?acme
?協議支持的所有驗證協議. 一般有兩種方式驗證: http
和 dns
驗證.
這是使用http
驗證
cd ~/.acme.sh/ yum install socat
如果你還沒有運行任何 web
服務,?80
?端口是空閑的, 那麽?acme.sh
?還能假裝自己是一個webserver
, 臨時聽在80
?端口, 完成驗證:
sh acme.sh --issue -d www.souyunku.com --standalone
3. copy/安裝 證書
前面證書生成以後, 接下來需要把證書 copy
到真正需要用它的地方.
註意, 默認生成的證書都放在安裝目錄下:?~/.acme.sh/
, 請不要直接使用此目錄下的文件, 例如: 不要直接讓 nginx/apache
的配置文件使用這下面的文件. 這裏面的文件都是內部使用, 而且目錄結構可能會變化.
mkdir -p /certs cd /root/.acme.sh/www.souyunku.com cp www.souyunku.com.cer /certs cp www.souyunku.com.key /certs
配置Nginx
vim /usr/local/nginx/conf/nginx.conf
配置證書
server {
listen 443;
ssl on;
ssl_certificate /certs/www.souyunku.com.cer;
ssl_certificate_key /certs/www.souyunku.com.key;
}
把http
重定向到https
server {
listen 80;
server_name www.souyunku.com;
rewrite ^(.*) https://$server_name$1 permanent;
}
每次修改nginx配置文件後都要進行檢查
/usr/local/nginx/sbin/nginx -t
4. 更新證書
目前證書在 60 天以後會自動更新, 你無需任何操作. 今後有可能會縮短這個時間, 不過都是自動的, 你不用關心.
5. 更新 acme.sh
目前由於 acme 協議和 letsencrypt CA 都在頻繁的更新, 因此 acme.sh 也經常更新以保持同步.
升級 acme.sh 到最新版 :
acme.sh --upgrade
如果你不想手動升級, 可以開啟自動升級:
acme.sh --upgrade --auto-upgrade
之後, acme.sh 就會自動保持更新了.
你也可以隨時關閉自動更新:
acme.sh --upgrade --auto-upgrade 0
6. 測試 https
啟動Nginx
/usr/local/nginx/sbin/nginx
瀏覽器 訪問 www.souyunku.com 會自動跳轉到 https://www.souyunku.com
最後說一點,由於博客使用了七牛雲的 http
協議的 cdn
導致博客內的靜態資源不可用,最後又把七牛雲的靜態資源配置了 https
配置步驟
點擊菜單:融合CDN-->域名管理-->配置--> HTTPS 配置
點擊?SSL證書管理 - https://portal.qiniu.com/certificate/ssl#cert,您可以在SSL證書服務頁面申請或上傳自有證書。
- 內容 ( PEM格式 ) 對應證書內容 *.cre 後綴
- 私鑰 ( PEM格式 ) 對應證書內容 *.key 後綴
最後點擊:強制 HTTPS 訪問
開啟後用戶的 HTTP 請求會強制跳轉到 HTTPS 協議進行訪問。
Contact
- 作者:鵬磊
- 出處:http://www.ymq.io/2018/06/08/certs-https
- 版權歸作者所有,轉載請註明出處
- Wechat:關註公眾號,"搜雲庫",專註於開發技術的研究與知識分享
給網站配置免費的HTTS證書