1. 程式人生 > >nginx配置https的部署實踐

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配置成功~