nginx證書配置指南


常用參數

  • ssl_certificate
    • 服務器證書
  • ssl_certificate_key
    • 服務器私鑰
  • sl_session_cache shared:SSL:10m;
    • 設置ssl/tls會話緩存的類型和大小
    • shared
      • 所有工作進程之間共享緩存:緩存大小以字節為單位指定;一兆字節可以存儲大約4000個session。每個共享緩存都應該有一個任意名稱。具有相同名稱的緩存可以用於多個虛擬服務器
    • off
      • 嚴禁使用session緩存:nginx明確告訴客戶端session可能不會被重用
    • none
      • session緩存的使用被禁止:nginx告訴客戶端session可能會被重用,但實際上並不會將session參數存儲在緩存中
    • builtin
      • 在OpenSSL中構建的緩存:僅由一個工作進程使用。緩存大小在session中指定。如果沒有給出大小,則等於20480個會話
  • ssl_session_timeout
    • 客戶端可以重用會話緩存中ssl參數的過期時間
  • ssl_protocols
    • 用於啟動特定的加密協議,nginx在1.16.x版本默認是ssl_protocols TLSv1 TLSv1.1 TLSv1.2,TLSv1.1與TLSv1.2要確保OpenSSL >= 1.0.1 ,SSLv3 現在還有很多地方在用但有不少被攻擊的漏洞
  • ssl_ciphers
    • 選擇加密套件,不同的瀏覽器所支持的套件可能會不同。這里指定的是OpenSSL庫能夠識別的寫法,你可以通過 openssl -v cipher 'RC4:HIGH:!aNULL:!MD5'(后面是你所指定的套件加密算法) 來看所支持算法
    • 加密套件之間用冒號分隔,加密套件前有感嘆號的表示必須廢棄
  • ssl_prefer_server_ciphers on
    • 設置協商加密算法時,優先使用我們服務端的加密套件,而不是客戶端瀏覽器的加密套件

配置演示

注意:nginx的ssl配置在默認配置文件注釋里是可以找到的

server {
    listen 443 ssl;
    server_name  _;

    ssl_certificate      /opt/ssl/cert.pem;
    ssl_certificate_key  /opt/ssl/key.pem;
    
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;	
    ssl_session_cache    shared:SSL:10m;  
    ssl_session_timeout  5m;
    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

		...
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM