瀏覽標籤:

Nginx

如何建立一個私人的https

自己用 CA 簽自己的 certificate

  1. 先幫自己的 CA 生一組 key & certificate
  2. 幫自己的主機生一組 key & CSR
  3. 用自己的主機簽 CSR 讓他變成 certificate
openssl genrsa -des3 -out ca.key 4096

由於 CA 的 key 只有在簽 certificate 的時候會用到,不像 certificate 的 key 服務本身會用到,所以這邊可以加上 des3 ,會要你輸入一個密碼加密。

openssl req -x509 -new -nodes -key ca.key -sha256 -days 365 -out ca.crt

接下來我們幫 CA 生一組 certificate,通常這個天數會久不少。

openssl genrsa -out host.key 4096

這組是主機上的服務要用的 key ,就不加密了。

openssl req -new -key host.key -sha256 -out host.csr

最後來簽這個 CSR 產生 certificate

openssl x509 -req -in host.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out host.crt -days 30 -sha256

Free SSL -免費憑證申請流程

Let’s Encrypt 介紹

Let’s Encrypt 是由許多大公司以及各大非營利團體為了推廣 HTTPS 而贊助的一家免費發佈 SSL certificate 的 Certificate Authority。
無論是你的個人網站還是官網,可以透過以下流程申請免費的 SSL 憑證。

Let’s Encrypt 官方限制

Let’s Encrypt 目前已經正式開放,但有發行數量限制,一般人可能會遇到的:

  • Names/Certificate:單一 certificate 限制 100 個 hostname。
  • Certificates/Domain:每個 domain 每個禮拜最多 20 個 certificate,但 renew 不計算在 quota 內 (需要憑證內的 hostname 與之前完全一樣)。
  • Certificates/FQDNset:相同 hostname 的憑證每個禮拜最多發出五個。

最新的資訊以及完整的細節請參考「Rate Limits – Let’s Encrypt – Free SSL/TLS Certificates」這邊的說明。

閱讀更多