nginx配置https伺服器

2022-06-28 11:42:08 字數 2127 閱讀 4878

目錄要配置 https 伺服器,必須在server配置塊中開啟ssl協議,還需要指定伺服器端證書和金鑰檔案的位置

伺服器證書是公開的,會被傳送到每乙個連線到伺服器的客戶端。而私鑰不是公開的,需要存放在訪問受限的檔案中,當然,nginx主程序必須有讀取金鑰的許可權。私鑰和證書可以存放在同乙個檔案中:

ssl_certificate     www.example.com.cert;

ssl_certificate_key www.example.com.cert;

這種情況下,證書檔案同樣得設定訪問限制。當然,雖然證書和金鑰存放在同乙個檔案,只有證書會傳送給客戶端,金鑰不會傳送。

ssl_protocols和ssl_ciphers指令可以用來強制使用者連線只能引入ssl/tls那些強壯的協議版本和強大的加密演算法。從1.0.5版本開始,nginx預設使用「ssl_protocols sslv3 tlsv1」和「ssl_ciphers high:!anull:!md5」,所以只有在之前的版本,明確地配置它們才是有意義的。從1.1.13和1.0.12版本開始,nginx預設使用「ssl_protocols sslv3 tlsv1 tlsv1.1 tlsv1.2」。

cbc模式的加密演算法容易受到一些攻擊,尤其是beast攻擊(參見cve-2011-3389)。可以通過下面配置調整為優先使用rc4-sha加密演算法:

ssl_ciphers rc4:high:!anull:!md5;

ssl_prefer_server_ciphers on;

優化引數:ssl操作占用額外的cpu資源。多處理器系統工人過程應該執行,不少於可用cpu核心的數量。最密集的cpu操作是ssl握手.有兩種方法可以最大限度地減少每個客戶端的這些運算元:第一種方法是啟用保活連線通過乙個連線傳送多個請求,第二個連線是重用ssl會話引數,以避免對並行連線和後續連線進行ssl握手。會話儲存在工作人員共享的ssl會話快取中,並由ssl會話快取指令。乙個兆位元組的快取包含大約4000個會話。預設的快取超時為5分鐘。可以通過使用ssl會話超時指令。下面是為具有10 mb共享會話快取的多核系統優化的示例配置:

}環境說明系統ip

安裝環境

centos7

192.168.32.125

lnmp

已關閉防火牆和selinux,並配置好了yum源,包括epel源

#證書位置

[root@www ~]# ls /usr/local/nginx/ssl/

www.test.com.crt www.test.com.key

#配置https,取消注釋,修改相關配置引數

訪問測試

配置一台同時處理http和https請求的伺服器:

nginx上配置https伺服器

首先確保機器上安裝了openssl和openssl devel yum install openssl yum install openssl devel ubuntu上openssl devel的安裝不同 sudo apt get install openssl sudo apt get inst...

配置nginx為HTTPS伺服器

預設情況下ssl模組並未被安裝,如果要使用該模組則需要在編譯時指定 with http ssl module引數,安裝模組依賴於openssl庫和一些引用檔案,通常這些檔案並不在同乙個軟體包中。通常這個檔名類似libssl dev。可以通過以下步驟生成乙個簡單的證書 首先,進入你想建立證書和私鑰的目...

Nginx自建CA配置https伺服器

一 openssl openssl1.0.1g以上 二 自建ca,用ca證書進行簽名,建立伺服器證書 1.使用ca.sh建立ca跟證書 首先,修改openssl的配置檔案 sudo vim usr local ssl openssl.cnf mac system library openssl 修改...