Centos7 Nginx 使用 certbot 安裝證書,並配置 OCSP 提高性能

官方安裝教程:https://certbot.eff.org/lets-encrypt/centosrhel7-nginx

之前一直使用軍哥的 Lnmp 或者寶塔,所以配置 https 都有內置命令。

這次獨立的學習 Nginx ,所以在單獨的學習配置 Https 證書。

由於服務器上面只安裝有了 Nginx ,所以我們來安裝 certbot

yum -y install yum-utils

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

yum-config-manager --enable rhui-REGION-rhel-server-extras rhui-REGION-rhel-server-optional

yum install certbot python2-certbot-nginx

我們需要提前配置好 nginx 的 conf 文件,確保域名可正常訪問,然後執行命令安裝證書:

# nginx-server-root 爲指定目錄,後面的 dmain.com 爲綁定域名
certbot --nginx --nginx-server-root=/usr/local/nginx/conf -d domain.com

#執行時可能會報相關錯誤,請確保安裝 nginx 安裝了 ssl 模塊並且依賴庫 open ssl

顯示如下,證明安裝成功:

 然後對 nginx 執行重新啓動,第一次沒重新啓動,發現加上了 https 後無法訪問。

#停止
/usr/local/nginx/sbin/nginx -s stop
#啓動
/usr/local/nginx/sbin/nginx

 因爲沒有使用 301 扥強制跳轉到 https ,所以訪問網址時手動加上 https 訪問,發現已出現綠色圖標。

接下來爲了提高 https 的訪問性能,我們配置 OCSP:

使用 certbot 生成的證書有以下幾個文件:

cert.pem: 服務端證書

chain.pem: 瀏覽器需要的所有證書但不包括服務端證書,比如根證書和中間證書

fullchain.pem: 包括了cert.pem和chain.pem的內容

privkey.pem: 證書的私鑰

OCSP 所需要的證書說明:

我們可以點擊瀏覽器的證書圖標來查看證書鏈,一般都三層。

分別是:DST 根證書→Let’s Encrypt 中間證書→網站自己的網站證書。

如果我們的網站要開啓 OCSP ,我們需要的證書只需要前兩個,而且順序一定要爲 子證書在前,服務端證書在後

在這裏我們觀察到 certbot  生成的 fullchain.pem 證書正好符合 OCSP 的規範,所以我們默認使用它。

當然官網有說明,如果一致也可以省略填寫:

若 ssl_certificate 指令指定了完整的證書鏈,
則 ssl_trusted_certificate 可省略。

接下來我們在 nginx 的域名配置文件中新增如下,前三行也是推薦的配置,配置 DNS 因爲我是海外服務器,可自行修改

ssl_stapling             on;
ssl_stapling_verify      on;
ssl_trusted_certificate  /etc/letsencrypt/live/ssl.domain.com/fullchain.pem;
resolver 8.8.8.8 8.8.4.4 1.1.1.1 valid=60s;
resolver_timeout 2s;

此步我參考了此作者的博文:https://24dian30.com/manage/environment-manage/1818.html

然後我們執行對 nginx 指定重新加載:

 /usr/local/nginx/sbin/nginx -s reload

如何檢測呢,我們打開 https://www.ssllabs.com/ssltest/

然後屬於要檢測的域名,稍等片刻檢測完成,然後查看結果頁面,發現已經成功開啓。

 當然你也可以使用 openssl 命令來檢測:

# openssl s_client -connect ssl.domain.com:443 -status 2>/dev/null  | grep -A 17 'OCSP response:'

 成功則返回以下:

OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
    Produced At: Dec 20 02:16:00 2019 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: 7EE66AE7729AB3FCF8A220646C16A12D6071085D
      Issuer Key Hash: A84A6A63047DDDBAE6D139B7A64565EFF3A8ECA1
      Serial Number: 039913BCEB7B7CED78B4D5E3CC74463C0DA1
    Cert Status: good
    This Update: Dec 20 02:00:00 2019 GMT
    Next Update: Dec 27 02:00:00 2019 GMT

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章