nginx配置https的部署實踐
http以明文的形式在瀏覽器和伺服器之間交換資料,沒有任何資料加密,攻擊者可以在擷取之間的資訊並讀懂,這明顯不安全,所以現在瀏覽器瀏覽器都要求網站域名配置SSL域名證書,以https協議傳輸內容。
那問題來了:
HTTP與HTTPS
HTTP:超文字傳輸協議
HTTPS:超文字傳輸安全協議
簡單來說,可以用這個公式:HTTPS = HTTP + SSL
SSL:安全套接層,一種安全協議
也就是說:
為了資料傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證伺服器的身份,併為瀏覽器和伺服器之間的通訊加密。
申請ssl域名證書
登入騰訊雲之後,找到SSL證書管理欄目,購買或者申請域名證書。
注意:
免費證書有效期是一年,一年後手動重新申請即可
域名需要備案
申請完了之後,就可以下載證書啦~
如圖下載的域名證書,可以配置到Apache、Nginx、Tomcat等伺服器上面。
nginx配置https步驟
好,接下來我們進入正題,給nginx配置域名證書嘿~
解壓下載下來的域名證書,獲取Nginx裡面的兩個檔案。
crt檔案是以PEM格式存在的證書,可以用於不同的程式和裝置
key檔案是授權檔案
第一步:
把crt和key檔案上傳到nginx的conf目錄下。
第二步:
nginx.conf或自定義配置檔案上配置SSL證書。
HTTPS的預設埠是443,就像HTTP的預設埠80一樣,從圖中可以看到,這個服務最後代理的是8080埠的tomcat。
第三步:
配置完了第二步已經完成一大半了,只要使用者輸入https://www.java-mindmap.com就可以訪問我的社群網站,但是一般使用者都懶得輸入https://,而不輸入的話預設就是發起http連結,所以,需要還需要配置http強制轉換成https的連結。
這樣,當用戶訪問http連結時候,強制轉成了https的服務了。
至此,HTTPS配置成功~