Linux相關-nginx配置https(自簽名證書)

最近做一個項目, 使用nginx做https服務器,做個記錄

大致分爲兩個部分:

1.nginx開啓openssl模塊,網上有很多說明, 這裏簡單說明一下

a. 下載nginx源碼:點這裏

b. 下載openssl源碼:點這裏

c.解壓openssl源碼,進行配置,編譯,安裝

d. 解壓nginx源碼,進行配置, 配置的時候特別開啓openssl模塊

./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl={path-to-openssl-source-dir}

這邊特別注意是openssl的源碼目錄, 而非安裝目錄, 編譯,安裝,openssl模塊就編譯到nginx當中去了

e.  配置nginx(剩下的是和第二部分緊密關聯的)

另外, 如果是在原有的nginx服務器上配置,參考這裏

2. 自簽證書的CA認證問題

這裏有篇文章作爲參考:鏈接

文章的前面部分完全沒有問題, 最後使用CA根證書籤名CSR這一步一直都不成功

最後通過網上另外一篇文章得到解決, 就是使用CA證書籤字的命令行應該是

 

openssl x509 -req -days 500 -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -sha256 -extensions v3_req -extfile {yourpath}/openssl.cnf

主要步驟也在這裏列一下:

a. 創建CA私鑰, 利用私鑰創建CA證書

#創建CA私鑰
openssl genrsa -out rootCA.key 2048
#創建CA證書
openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt

b.創建server私鑰以及CSR

#創建server私鑰
openssl genrsa -out server.key 2048
#根據配置要的openssl參數創建服務器csr文件, 後面會用到
openssl req -new -key server.key -out server.csr -config {yourpath}/openssl.cnf -extensions v3_req

c.使用CA證書給server.csr做簽名

openssl x509 -req -days 500 -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -sha256 -extensions v3_req -extfile {yourpath}/openssl.cnf

完整流程圖

å¨è¿éæå¥å¾çæè¿° 

3. nginx已經編譯安裝完成,openssl證書也已經生成好, 最後進行nginx.conf配置

紅色標註的文件就是生成好的密鑰的數字證書, 然後啓動nginx,在配製好的ip或者域名就可以使用https訪問了

文章最後,重點提一下其中的幾個關鍵點

1) 在生成server.csr的過程當中填寫的信息, 需要和最後使用CA根證書籤字的時候的信息一樣

還有幾個點, 一下子忘了, 看這篇文章有問題的,給我留言吧

關於相關證書的查看已經生成,參考這裏

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