網路 nginx配置HTTPS實踐

2021-10-01 21:03:49 字數 1892 閱讀 7867

配置nginx伺服器使用https協議,需要為伺服器指定以下引數:

1.證書, 用於客戶端認證傳遞公鑰用於資料加密

2.私鑰,用於解密客戶端的資料

3.tls協議相關: tls協議版本號,加密套件

4.伺服器相關: 埠號,server_name

假定我們需要為網域名稱配置ssl證書。

最簡單的配置需要乙個金鑰檔案和乙個使用該金鑰的證書,步驟如下:

}}如下:

server
listen 443 ssl指定以tls/ssl協議處理來自443埠的請求;

server_name指定客戶端使用tls擴充套件字段(見clienthello)中的伺服器名稱匹配該伺服器;

ssl_certificatessl_certificate_key指定證書和私鑰;

ssl_protocols指定能夠支援與客戶端進行通訊的所有tls協議版本;

ssl_ciphers指定伺服器能夠支援的客戶端加密套件;

nginx可以配置多個伺服器使用同乙個證書,只要為這個證書的subjectaltname中加上相應的網域名稱就可以被客戶端信任。

在為證書配置subjectaltname時可以使用萬用字元名稱:*.baidu.com只能匹配www.baidu.com,不能匹配baidu.comx.www.baidu.com,即只是一級匹配。

配置如下:

ssl_certificate     common.crt;

ssl_certificate_key common.key;

server

server

nginx會根據客戶端提供的servername選擇合適的伺服器。

server 

server

上面的配置能否生效取決於客戶端,如果客戶端未使用servername擴充套件,則nginx無法區分到底選擇哪個證書,因此它使用預設證書,即第乙個伺服器的配置。

如果客戶端使用了servername擴充套件,則nginx根據其選擇對應的伺服器。

當使用open

ssl測試nginx伺服器時,由於nginx伺服器是以server_name作為伺服器查詢,所以需要指定-servername選項。

如下:

openssl s_client -connect www.baidu.com:443 -servername www.baidu.com
當使用curl測試時,需要指定-h 'host: www.baidu.com'

nginx 配置https證書

安裝證書 檔案說明 1.證書檔案214467769540415.pem,包含兩段內容,請不要刪除任何一段內容。2.如果是證書系統建立的csr,還包含 證書私鑰檔案214467769540415.key。2 開啟 nginx 安裝目錄下 conf 目錄中的 nginx.conf 檔案,找到 3 將其修...

nginx配置https協議

一 我們用的是阿里雲的伺服器,所以直接在管理中心生成網域名稱對應的.pem和.key檔案,放在伺服器指定資料夾內,我放在cert資料夾內 二 開啟 etc nginx nginx.conf,以下是寫在http 內 upstream test server 設定檢視nginx狀態的位址 locatio...

nginx 配置 https 服務

一 環境 1 centos 7 2 nginx 安裝前保證自己的nginx處於開啟的狀態並且可通過網域名稱訪問80埠即可。我nginx一般是用作反向 的,所以在生成證書前不需要單獨配置新的網域名稱服務,使用安裝後預設的配置服務即可。二 證書使用 let s encrypt 安裝證書管理客戶端 1 w...