首次前後端分離的項目部署經歷

1、環境簡介

前端(Vue)項目和後端(SpringBoot)項目部署在同一臺服務器上,使用nginx做代理。

數據庫使用mysql,文件服務器使用minio,後端使用jar文件運行,使用gitlab-ci/cd自動部署。

2、項目經歷

Ⅰ、問題:由於在本地測試時候,前端使用8080端口,後端使用8848端口,會產生跨域等系列問題。

       方案:本地可以通過在Vue的config目錄下對index.js文件添加proxyTable進行代理,可參考proxyTable配置看看。

Ⅱ、問題:線上部署,發現使用nginx配置後,請求無法轉發成功。

       方案:可能原因是location的路徑配置錯誤了,可以參考nginx的proxy_pass詳解看看。

Ⅲ、問題:做到上傳頭像功能時,發現沒有實現會話保持功能。

       方案:可以使用session或者token來保持會話,將token或者sessionId存到cookie中去發送給前端。

                  如果想使用token,可以參考各個JWT庫對比,我使用的是jose4j。

Ⅳ、問題:在前端讀取Cookie時,發現不可以讀取。

       方案:原因是Cookie沒有設置Path,瀏覽器調試它他爲空。

Ⅴ、問題:Cookie沒有加密,信息泄漏。

       方案:可以通過Crypto庫來進行加密,可以參考js加密以及後臺解密

Ⅵ、問題:SpringBoot的application.yml文件沒有加密,信息泄漏。

       方案:可以通過Jasypt庫來進行加密,可以參考Jasypt加密,密鑰在運行jar時提供環境變量時配置,

       例如:jasypt.encryptor.password=salt(環境變量)或java -jar college.jar --jasypt.encryptor.password=salt

Ⅶ、問題:項目部署成功後,發現刷新頁面出現404。

       方案:可以參考nginx+vue刷新404

三、項目地址

①、項目地址:https://gitlab.com/M-Anonymous/back_college_mail

②、演示地址:http://47.96.158.165/

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