Nginx負載均衡
在 /usr/local/nginx/conf/vhost/ 下建立一個文件,寫入如下內容nginx
加載後用curl測試能夠訪問設置的網站 www.qq.com瀏覽器
ssl原理
HTTPS是一種加密的http協議,若是HTTP通訊的數據包在傳輸的過程當中被截獲,咱們能夠破譯這些數據包裏面的信息,這裏面會存在一些用戶名、密碼、手機號等敏感的信息。而使用HTTPS通訊,即便數據包被截獲,咱們也沒法破譯裏面的內容。因此未來會都是用HTTPS,棄用HTTP。服務器
HTTPS的通訊過程:負載均衡
- 瀏覽器發送一個HTTPS請求給服務器。
- 服務器要有一套數字證書,這個證書能夠本身製做,也能夠像組織申請。本身製做的證書要客戶端經過後才能繼續訪問,使用手信任的公司申請的證書不會彈出提示頁面,這套證書就是一堆公鑰和私鑰。
- 服務器會把公鑰傳輸給客戶端也就是瀏覽器。
- 客戶端收到公鑰後,會驗證它是否合法有效,無效的話會有警告提醒,有效的話就會生成一串隨機的字符串,而且用收到的公鑰加密。
- 客戶端把加密後的隨機字符串傳個服務器。
- 服務器收到加密的隨機字符串後,先用私鑰解密,獲取到這一串隨機字符串後,再用這串隨機字符串加密傳輸的數據。
- 服務器把加密後的數據傳給客戶端。
- 客戶端收到數據後,在用本身的私鑰解密。
生產ssl密鑰對
配置過程:curl
- 用openssl命令生成私鑰文件tmp.key,要設置密碼。
- 把剛生成的tmp.key文件轉換成 xiny.key,取消密碼設置。
- 生成證書請求文件,這個文件和key文件一塊兒生成公鑰。
Nginx配置ssl
生成ssl密鑰對後就要配置Nginx。配置的文件內容:測試
配置文件寫好後,用 -t 檢查配置是報錯,這是由於Nginx編譯時沒有配置SSL。網站
從新編譯Nginx加密
測試時會有警告提示,這是由於密鑰是本身作的不被瀏覽器認可。url