Nginx反向代理:HTTPS到HTTP

做了一個Web項目,前後端分離,前端需要使用HTTPS訪問。
部署的時候發現,前端HTTPS項目是不能發起HTTP的ajax到後端的,怎麼辦?
最直接的就是把後端也部署到支持HTTPS的Web服務器上,比如Tomcat,可以配置SSL。不過這樣實在太麻煩,而且我們一般使用的是java內嵌的tomcat。

這時候可以考慮Nginx反向代理。

前端ajax不能使用HTTP訪問,那就使用HTTPS唄,使用Nginx反向代理,把這個HTTPS代理到HTTP不就行了!

所以,解決方案是:

  1. 前端部署到Nginx上,配置HTTPS。比如通過 https://frontend.com 訪問。前端 Ajax也使用HTTPS訪問後端,比如 https://ajax.com
  2. 部署後端:java -jar, HTTP方式,比如通過 http://backend.com 訪問
  3. Nginx設置反向代理:把 https://ajax.com 代理到 http://backend.com

這樣前端HTTPS和後端HTTP就能通信了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章