Nginx詳解二十:Nginx深度學習篇之HTTPS的原理和做用、配置及優化

 

1、HTTPS原理和做用:html

一、爲何須要HTTPS?
緣由:HTTP不安全
1.傳輸數據被中間人盜用、信息泄露
2.數據內容劫持、篡改nginx

 

二、HTTPS協議的實現
對傳輸內容進行加密以及身份驗證算法

對稱加密:加密祕鑰和解密祕鑰是對等的,同樣的瀏覽器

 

非對稱加密:緩存

 

HTTPS加密協議原理:安全

中間人僞造客戶端和服務端:session

HTTPS的CA簽名證書:app

 

2、證書籤名生成CA證書ide

 

先確認環境:已經安裝openssl和nginx已經編譯ssl的模塊優化

 

生成祕鑰和CA證書步驟:

步驟一、生成key祕鑰

步驟二、生成證書籤名請求文件(csr文件)

步驟三、生成證書籤名文件(CA文件)

 

3、證書籤名生成和Nginx的HTTPS服務場景演示

 一、生成key祕鑰

先建立一個用來放祕鑰的文件夾

 

輸入加密算法:openssl genrsa -idea -out jesonc.key 1024

回車,會讓輸入密碼,這裏設置爲123456,完成後會生成一個.key的文件

 

二、生成證書籤名請求文件(csr文件):openssl req -new -key jesonc.key -out jesonc.csr

 

三、生成證書籤名文件(CA文件)

打包:openssl x509 -req -days 3650 -in jesonc.csr -signkey jesonc.key -out jesonc.crt

 -days 3650:證書過時時間,10年

 

Nginx的HTTPS語法配置

ssl開關
配置語法:ssl on|off;
默認狀態:ssl off;
配置方法:http、server

ssl證書文件
配置語法:ssl_certificate file;
默認狀態:-
配置方法:http、server

ssl密碼文件
配置語法:ssl_certificate_key file;
默認狀態:ssl off;
配置方法:http、server

 

進入/etc/nginx/conf.d/

server
{
listen 443;
server_name 192.168.1.141 jeson.t.imooc.io;
ssl on;
ssl_certificate /etc/nginx/ssl_key/jesonc.crt;
ssl_certificate_key /etc/nginx/ssl_key/jesonc.key;
#ssl_certificate_key /etc/nginx/ssl_key/jesonc_nopass.key;

index index.html index.htm;
location / {
root /opt/app/code;
}
}

 

配置好以後,關閉和啓動,都須要數以前設置的密碼

關閉:nginx -s stop -c /etc/nginx/nginx.conf

啓動:nginx -c /etc/nginx/nginx.conf 

確認已啓用443的監聽:netstat -luntp|grep 443

瀏覽器訪問

 

 

HTTPS服務優化

方法一:激活keepalive長鏈接

方法二:設置ssl session緩存

 檢查並重載:

相關文章
相關標籤/搜索