如何打通前端dist和后端jar?

前端dist和后端jar已經(jīng)分別獨立部署到服務(wù)器上,這篇博客是對下面兩篇博客的延續(xù)。

那么,怎樣打通前后端,產(chǎn)出一個完整的線上項目呢?
這篇博客主要基于arya-spring-vue項目探索如何打通前端dist與后端jar,從而完成一個完整的包含前后端開發(fā)到運維的完整項目。

主要包含以下內(nèi)容:

  • 如何暴露出一個公網(wǎng)可訪問的接口,例如GET aryaapi.frankkai.cn/users?
    • 主機8080端口運行包含tomcat的jar包
    • 騰訊云服務(wù)器添加新的域名解析aryaapi.frankkai.cn到主機
  • arya-spring-vue-fe前端調(diào)用arya-spring-vue-be接口該如何修改配置?
    • 修改前端接口調(diào)用配置,重新打包上傳dist
    • 修改服務(wù)端跨域允許域名,重新打包上傳jar并重新運行
  • 如何使用nginx反向代理fooapi.bar.cn隱藏8080端口?
    • 添加nginx反向代理配置
    • 修改前端接口配置打包上傳dist

如何暴露出一個公網(wǎng)可訪問的接口,例如GET aryaapi.frankkai.cn/users?

  • 主機8080端口運行包含tomcat的jar包
  • 騰訊云服務(wù)器添加新的域名解析aryaapi.frankkai.cn到主機

主機8080端口運行包含tomcat的jar包

java -jar /usr/java/arya-spring-vue-be-0.0.1-SNAPSHOT.jar

騰訊云服務(wù)器添加新的域名解析aryaapi.frankkai.cn到主機

image

這里的主機指的是運行java服務(wù)端服務(wù)的主機。

可以使用curl aryaapi.frankkai.cn/users查看服務(wù)端接口是否成功部署。

9-11-30 15:19:56.554  INFO 17978 --- [nio-8080-exec-1] o.h.h.i.QueryTranslatorFactoryInitiator  : HHH000397: Using ASTQueryTranslatorFactory
Hibernate: 
    select
        user0_.id as id1_0_,
        user0_.age as age2_0_,
        user0_.CreateTime as CreateTi3_0_,
        user0_.email as email4_0_,
        user0_.name as name5_0_,
        user0_.sex as sex6_0_,
        user0_.UpdateTime as UpdateTi7_0_ 
    from
        Users user0_
[]%

看到spring有打印日志,curl也有正常返回,那么說明部署成功。

arya-spring-vue-fe前端調(diào)用arya-spring-vue-be接口該如何修改配置?

  • 修改前端接口調(diào)用配置,重新打包上傳dist
  • 修改服務(wù)端跨域允許域名,重新打包上傳jar并重新運行

修改前端接口調(diào)用配置,重新打包上傳dist

https://github.com/arya-spring-vue/arya-spring-vue-fe/blob/master/src/config/master.ts

修改前:

const config = {
  ARYA_SPRING_VUE_BE: "http://localhost:8080"
};
export default config;

修改后:

const config = {
  ARYA_SPRING_VUE_BE: "http://aryaapi.frankkai.cn:8080"
};
export default config;

修改服務(wù)端跨域允許域名,重新打包上傳jar并重新運行

修改前:

.allowedOrigins("http://localhost:3000")

修改后:

.allowedOrigins("http://arya.frankkai.cn")

重新打包出jar包上傳并運行。
如果不修改,會報403的錯誤。

這一步做完之后,其實就可以做到打通前端dist和后端jar了。

我們可以通過這樣去訪問應(yīng)用:http://arya.frankkai.cn/index.html#/user。

image

如何使用nginx反向代理fooapi.bar.cn隱藏8080端口?

  • 添加nginx反向代理配置
  • 修改前端接口配置打包上傳dist

添加nginx反向代理配置

上面已經(jīng)做到了前后端打通且可訪問,但是在network中我們看到,接口調(diào)用是http://aryaapi.frankkai.cn:8080/spring/vue/readUsers的形式。

太暴露不好。有沒有辦法去掉8080端口呢?

那當(dāng)然是nginx的反向代理了,配置如下:

    server {
        listen       80;
        server_name  aryaapi.frankkai.cn;
        location / {
            proxy_pass http://127.0.0.1:8080;
        }
    }

小插曲:添加了這個反向代理配置后,接口一直報405 Not Allowed。試了add_header添加可跨域頭,可跨域源,重啟nginx等等方法都不生效,最后重啟機器居然好了。重啟大法果然好。

修改前端接口配置打包上傳dist

修改前:

const config = {
  ARYA_SPRING_VUE_BE: "http://http://aryaapi.frankkai.cn:8080"
};
export default config;

修改后:

const config = {
  ARYA_SPRING_VUE_BE: "http://aryaapi.frankkai.cn"
};
export default config;

重新打包上傳dist包即可。

此時再訪問http://arya.frankkai.cn/index.html#/user,接口調(diào)用就直接http://aryaapi.frankkai.cn/spring/vue/readUsers的形式了。

使用nginx反向代理fooapi.bar.cn隱藏8080端口成功!

原文:https://github.com/arya-spring-vue/arya-spring-vue-dp/issues/3

期待和大家交流,共同進(jìn)步,歡迎大家加入我創(chuàng)建的與前端開發(fā)密切相關(guān)的技術(shù)討論小組:

努力成為優(yōu)秀前端工程師!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • spring官方文檔:http://docs.spring.io/spring/docs/current/spri...
    牛馬風(fēng)情閱讀 1,856評論 0 3
  • 簡介 參考博客: 全棧開發(fā)實戰(zhàn):用Vue2+Koa1開發(fā)完整的前后端項目(更新Koa2)前置技能: 具備Vue和K...
    Ghamster閱讀 8,444評論 1 15
  • 首先非常感謝kevinz分享的文章《springboot+gradle+vue+webpack 組合使用》,這文章...
    YU_XI閱讀 3,716評論 0 7
  • 現(xiàn)在是2018年1月10日 看 2018年來了 除了年齡又長了一歲 鏡片度數(shù)加深 又換了一份工作外 你好像沒什么不...
    水鏡煙閱讀 223評論 0 0
  • 生活里 有你的每一天 都是獨一無二的 別再把可實現(xiàn)的小小心愿 總留給特殊的日子 從現(xiàn)在開始 善待自己 緊隨心靈的指...
    飛雪迎峰閱讀 183評論 0 1

友情鏈接更多精彩內(nèi)容