標籤:-- head apach 跳轉 word 過程 記錄 server selector
取經自思否:1190000015231137
https
的網站 搜尋引擎 會優先收錄,所以就抽時間記錄下配置部落格的過程,各種找資料,終於給我找到了一篇好的指引
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
自動為你建立 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 /certscd /root/.acme.sh/www.souyunku.comcp www.souyunku.com.cer /certscp 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.xxx.com 會自動跳轉到 https://www.xxx.com
配置步驟
點擊菜單:融合CDN-->網域名稱管理-->配置--> HTTPS 配置
點擊 SSL認證管理 - https://portal.qiniu.com/certificate/ssl#cert,您可以在SSL認證服務頁面申請或上傳自有認證。
- 內容 ( PEM格式 ) 對應認證內容 *.cre 尾碼
- 私密金鑰 ( PEM格式 ) 對應認證內容 *.key 尾碼
最後點擊:強制 HTTPS 訪問
開啟後使用者的 HTTP 要求會強制跳轉到 HTTPS 協議進行訪問。
給網站配置免費的HTTS認證