Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux教程 >> 在 nginx 啟動時免輸入 SSL 證書密碼

在 nginx 啟動時免輸入 SSL 證書密碼

日期:2017/2/7 14:27:06      編輯:Linux教程
 

之前申請了 wosign 的免費 SSL 證書,後來發現 wosign 證書不支持單個證書同時驗證根域和 www 子域,所以後面又換成了現在的 StartCom 證書。

不過 StartCom 有個缺點,就是在 nginx 重啟 或 重新加載 的時候會讓輸入私鑰的密碼。雖然輸密碼很煩,但是一般只用輸入一次就不用管了,所以我也就沒考慮這麼多。

結果沒過幾天就杯具了。前兩周把主站和 git 都搬到了 windowsazurue 上面,昨天重啟機器之後,發現 ssh 連不上了。於是直接找 azure 的客服,他們查了後告訴我機器啟動過程中,在 nginx 那裡卡住了:

1

很顯然就是因為證書私鑰密碼的緣故。在一番折騰後,終於解決了這個問題。

其實很簡單,我們只需要導出一份不需要私鑰密碼的私鑰文件就可以了。假設私鑰文件為 server.key ,執行下面命令:
openssl rsa -in server.key -out server.key.unsecure


然後把 server.key.unsecure 的路徑替換掉原來 nginx 配置文件裡的證書路徑:
ssl_certificate /etc/ssl/server.crt;
# 修改下面這一行指向我們生成的server.key.unsecure文件
ssl_certificate_key /etc/ssl/server.key.unsecure;


之後改變 nginx 的狀態都不用輸證書密碼了。

Copyright © Windows教程網 All Rights Reserved