給網站配置免費的HTTS證書

最近看到網上說 https 的網站 Google 會優先收錄,因此就抽時間記錄下配置博客的過程。nginx

ACME

使用 LetEncrypt 證書做爲博客的 https 實現方式。git

acme.sh 實現了 acme 協議, 能夠從 letsencrypt 生成免費的證書.github

github https://github.com/Neilpang/acme.shweb

主要步驟:apache

  1. 安裝 acme.sh
  2. 生成證書
  3. copy 證書到 nginx/apache 或者其餘服務
  4. 更新證書
  5. 更新 acme.sh
  6. 測試 https

1. 安裝 acme.sh

安裝很簡單, 一個命令:vim

curl  https://get.acme.sh | sh

普通用戶和 root 用戶均可以安裝使用. 安裝過程進行了如下幾步:瀏覽器

把 acme.sh 安裝到你的 home 目錄下:bash

cd ~/.acme.sh/

並建立 一個 bashalias, 方便你的使用: alias acme.sh=~/.acme.sh/acme.shcurl

自動爲你建立 cronjob, 天天 0:00 點自動檢測全部的證書, 若是快過時了, 須要更新, 則會自動更新證書.測試

2. 生成證書 而且完成驗證

acme.sh 實現了 acme 協議支持的全部驗證協議. 通常有兩種方式驗證: httpdns 驗證.

這是使用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:關注公衆號,"搜雲庫",專一於開發技術的研究與知識分享

關注公衆號-搜雲庫

相關文章
相關標籤/搜索