前端網站-https-部署

網站從http升級為https

過程記錄

https網站解決block:mixed-content問題

  • 問題定位:前端升級為https,前端發出請求鏈接也應升級為https。不然會報出block:mixed-content。
  • 解決問題:
  • 簡單解決方法:把後端的鏈接都改為https;
  • 頁面的head中加入:
 

功能是自動將http的不安全請求升級為https

https網站請求出錯:NET::ERR_CERT_COMMON_NAME_INVALID

前端第一次調用跨越的https的不同鏈接,遇到不安全的證書的時候,就會報這個錯誤。

前端網站-https-部署

https證書需要綁定域名。

通過修改Hosts鏈接地址參數信息,還是會報上面跨越的錯誤。

解決的思路。

申請正式版免費的證書。

  • 可以通過https://www.qiniu.com/ 七牛雲來進行免費證書的申請。
  • 不過免費的都有限制,三個月或是一年。
  • 證書會與域名進行綁定,還需要申請一個域名。
  • 如果部署到外網上,還需要一個外網的IP,然後域名與證書進行綁定。
  • 如果部署到內網,還需要部署一個dns服務器,然後域名與IP進行綁定,後域名與證書再進行綁定。
  • 總結
  • 整體的過程配置複雜,要申請一個證書,正式的證書是每年收費,免費版還是有時間限制。

讓客戶點選一次,反向代理。

架構上前後端分離,如果每一個域名每一個端口需申請一個證書,那後續的證書就比較多了。

所以選擇一個證書,建立一個網站,後面通過反向代理來鏈接,就稱為一個比較好的思路。

如果證書合法,就可以直接訪問,如果證書不合法,前端用戶也只點擊一次。

推薦的方法--通過nginx來實現https(查看前端網站的部署)

配置整體的思路

因前端需要升級https,前端發起的鏈接也需要升級https。

  • 通過反向代理,前端只是需要配置一個https的空殼。申請一個證書,申請一個端口就可以了。
  • 配置對應的代理鏈接,代理到前端對應的http的地址信息。
  • 配置對應的代理鏈接,代理到後端對應的http的地址信息。
  • 配置對應的代理鏈接,代理到地圖對應的http的地址信息。

在nginx的配置信息

 server {
 listen 443 ssl;
 server_name localhost;
 ssl_certificate c://nginx//ssl//buduhuisi.crt;
 ssl_certificate_key c://nginx//ssl//buduhuisi.key;
​
 ssl_session_cache shared:SSL:1m;
 ssl_session_timeout 5m;
​
 ssl_ciphers HIGH:!aNULL:!MD5;
 ssl_prefer_server_ciphers on;
​
 location /arcgis {
 proxy_pass http://192.168.1.35:6080;
 }
​
 location / {
 # root html;
 # index index.html index.htm;
 root D:/code_web/cyy_yujing_pages;
 index index.html index.htm;
 }
 }
  • 注意:通過location / 配置上前端對應的頁面信息(也可以配置到另外一臺機子,不過在實踐中,跳轉到其他機子會比較慢,所以優先配置在本環境目錄下),
  • 注意:通過location /arcgis 為arcgis的地圖服務信息。
  • 注意:通過location /為前端的默認地址信息。
  • 注意: 通過loation /gis 或是/common 等來配置後端的服務信息。

附件中已有配置好ssl的nginx的包信息

  • 下載下來,然後修改下配置就行。


分享到:


相關文章: