[WEB] Nginx 從入門開始的網站架設 (3)
https 設定
[WEB] Nginx 從入門開始的網站架設 (3)
https 設定
Nginx 從入門開始的網站架設 *(1) - 基本設定 (2) - Proxy Server*
一般在 IIS 上啟用 https 的步驟很直覺,先匯出憑證要求,接著在收到憑證之後完成憑證要求,在站台上設定新的繫結,將 443 指定到申請的憑證上的域名即可。
但是,利用 IIS 去向中華電信所申請到的憑證格式為 .cer,在 Nginx 的官網中(如下圖),使用的卻是 .crt 格式,並且還多了一個一般流程中不會看到的 .key。而網路上的教學大多是直接使用 openssl 去生產憑證,對於已經有憑證的情況來說並沒有太大的幫助。

Nginx 官方文件對於 https 設定的說明
在 Nginx 中使用 cer 來設定 https
可以在上面那張圖片中觀察到,有兩個地方的值是粗體的黑字:ssl_certificate 和 ssl_certificate_key,這兩個部分要放的就是憑證的檔案和憑證的私密金鑰。而在這裡會有兩個問題:
- 如果是利用 IIS 去產生憑證要求所申請到的憑證,會沒有辦法直接得到私密金鑰,且 Nginx 要求是不能加密的檔案。
- 申請所得到的憑證 cer 沒有辦法直接使用在 Nginx 上。
在看這些問題之前,要先了解一下 cer pfx key crt 這幾個檔案的用途和差別。

參考網站:https://blog.csdn.net/itworld123/article/details/115553346
了解了這幾種不同的名詞之後,接下來就是要把我們手上有的 cer 憑證檔案轉換成 Nginx 可以接受的格式。
匯出 pfx 檔案
第一個步驟,是要藉由 cer 來取得包含憑證證書和私鑰的 pfx 檔案。
Windows + R開啟 執行,輸入 mmc- 檔案 > 新增或移除嵌入式管理單元,拉到最底下找到 憑證,點選後點擊中間的新增,會跳出另外一個視窗,選擇 電腦帳戶 > 本機電腦,按下完成後視窗會回到 嵌入式管理單元 這一層,確定憑證有被移動到右邊的視窗後就可以按下確定。
- 在憑證的目錄底下選擇 個人>憑證,如果有先在 IIS 完成憑證要求的話就可以看到原本匯入的憑證,沒有的話請先匯入。找到要匯出
pfx檔案的憑證對他點選 右鍵 > 所有工作 > 匯出,選擇 是,匯出私密金鑰,點選兩次下一步進入 安全性 的頁面,輸入存取pfx時的密碼。下一步輸入檔名後按下儲存就可以得到pfx檔案了。

第二步驟說明圖

第三步驟說明
轉成 crt檔案
有了 pfx 的下一步就是要轉換成 crt 和 key。轉換的方法很簡單,使用 openssl,輸入下面的指令,就可以得到這兩個檔案了:
# 輸出 crt
openssl pkcs12 -in server.pfx -clcerts -nokeys -out server.crt
# 輸出 key
openssl pkcs12 -in server.pfx -nocerts -nodes -out server.rsa
產出兩個檔案之後就可以進入 nginx.conf 的修改了:
[embed]
修改好記得要 nginx -s reload,防火牆 443 port 的部分也要記得開。
메타데이터
- post_id
- 5b0a08239bb7
- slug
- web-nginx-從入門開始的網站架設-3-5b0a08239bb7
- url
- https://medium.com/@anthea.ensui/web-nginx-%E5%BE%9E%E5%85%A5%E9%96%80%E9%96%8B%E5%A7%8B%E7%9A%84%E7%B6%B2%E7%AB%99%E6%9E%B6%E8%A8%AD-3-5b0a08239bb7
- canonical_url
- https://medium.com/@anthea.ensui/web-nginx-%E5%BE%9E%E5%85%A5%E9%96%80%E9%96%8B%E5%A7%8B%E7%9A%84%E7%B6%B2%E7%AB%99%E6%9E%B6%E8%A8%AD-3-5b0a08239bb7
- author_url
- https://medium.com/@anthea.ensui
- status
- ok
- fetched_at
- 2026-06-29 22:44:20