nginx安全:配置ssl證書(https證書)


一,配置https證書的意義

https協議是由SSL+http協議構建的安全協議,支持加密傳輸和身份認證,

安全性比http要更好,因為數據的加密傳輸,更能保證數據的安全性和完整性

 

例如:不使用https,網站就比較容易被網絡劫持,

           網絡劫持會導致頁面上出現一些垃圾廣告,或被引導到無關的網站,

          使用https可以避免這些情況

 

說明:劉宏締的架構森林是一個專注架構的博客,地址:https://www.cnblogs.com/architectforest

         對應的源碼可以訪問這里獲取: https://github.com/liuhongdi/

說明:作者:劉宏締 郵箱: 371125307@qq.com

 

二,查看ssl模塊默認是否已編譯

[root@centos8 ~]# /usr/local/soft/nginx-1.18.0/sbin/nginx -V
nginx version: lws/1.18.0
built by gcc 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC) 
built with OpenSSL 1.1.1c FIPS  28 May 2019
TLS SNI support enabled
configure arguments: --prefix=/usr/local/soft/nginx-1.18.0 --with-http_stub_status_module --with-http_ssl_module

編譯參數中已包含了http_ssl_module這個模塊

 

三,https證書的獲取:

1,購買:

可以從國內的證書代理機構購買,

國外的證書大廠包括:

GlobalSign

geotrust

DigiCert等等

2,免費證書:

可以從letsencrypt獲取免費的證書,配置起來稍微麻煩一點,

優點是免費

官方網站:

https://letsencrypt.org/

 

四,nginx配置使用ssl證書

1,配置啟用ssl

#ssl on:啟用ssl

#ssl_certificate        https證書文件

#ssl_certificate_key  證書申請者的私鑰文件

ssl on;
ssl_certificate /data/certs/ssl2019/ssl.crt;
ssl_certificate_key /data/certs/ssl2019/ssl.key;

注意:證書文件的安全非常重要,

 不要放到網站虛擬主機的root目錄下,

 避免被暴露到公網上

 

2,ssl的優化:

#ssl_session_cache:配置共享會話緩存大小

#ssl_session_timeout:配置會話超時時間

配置例子:

ssl_session_cache   shared:SSL:10m;
ssl_session_timeout 10m; 

 

ssl的session的作用:

每次新的TLS連續都需要握手(因為創建共享的加密密鑰),在TCP三次握手之上還需要多兩個來回,

重用一個Session,可以減少一個來回,減少cpu的計算量

 

ssl_session_cache的默認值是none

它的取值包括:

1,off:不使用session緩存: nginx告訴客戶端session可能不會被重用 2,none:不使用session緩存:nginx告訴客戶端session可能會被重用, 但並不會把session存儲在緩存中 3,builtin:緩存只供一個工作進程使用 4,shared: 所有工作進程之間共享緩存

說明:ssl 的session cache大小:1M字節可以存儲大約4000個session,

          可以根據自己網站的並發情況計算一個合適的數字

說明:建議把session的配置放到http段而不是server段,共享可以提升性能

 

五,強制瀏覽器跳轉https協議訪問

當用戶訪問到http網站時,直接rewrite到https站即可

server {
        listen       80;
        server_name dev.lhdtest.com;
        rewrite ^(.*) https://$server_name$1 permanent;
    } 

 

六,查看nginx版本

[root@centos8 ~]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

 


免責聲明!

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



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