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

简介: 前端dist和后端jar已经分别独立部署到服务器上,这篇博客是对下面两篇博客的延续。如何部署前端dist目录?如何部署后端jar包?


image.png

那么,怎样打通前后端,产出一个完整的线上项目呢?

这篇博客主要基于arya-spring-vue项目探索如何打通前端dist与后端jar,从而完成一个完整的包含前后端开发到运维的完整项目。

主要包含以下内容:

  • 如何暴露出一个公网可访问的接口,例如GET aryaapi.frankkai.cn/users?
  • 主机8080端口运行包含tomcat的jar包
  • 腾讯云服务器添加新的域名解析aryaapi.frankkai.cn到主机
  • arya-spring-vue-fe前端调用arya-spring-vue-be接口该如何修改配置?
  • 修改前端接口调用配置,重新打包上传dist
  • 修改服务端跨域允许域名,重新打包上传jar并重新运行
  • 如何使用nginx反向代理fooapi.bar.cn隐藏8080端口?
  • 添加nginx反向代理配置
  • 修改前端接口配置打包上传dist


如何暴露出一个公网可访问的接口,例如GET aryaapi.frankkai.cn/users?


  • 主机8080端口运行包含tomcat的jar包
  • 腾讯云服务器添加新的域名解析aryaapi.frankkai.cn到主机


主机8080端口运行包含tomcat的jar包


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


腾讯云服务器添加新的域名解析aryaapi.frankkai.cn到主机


这里的主机指的是运行java服务端服务的主机。

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


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前端调用arya-spring-vue-be接口该如何修改配置?


  • 修改前端接口调用配置,重新打包上传dist
  • 修改服务端跨域允许域名,重新打包上传jar并重新运行


修改前端接口调用配置,重新打包上传dist


https://github.com/arya-sprin...

修改前:


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;


修改服务端跨域允许域名,重新打包上传jar并重新运行


修改前:

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


修改后:

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


重新打包出jar包上传并运行。


如果不修改,会报403的错误。


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

我们可以通过这样去访问应用:http://arya.frankkai.cn/index.html#/user


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


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


添加nginx反向代理配置


上面已经做到了前后端打通且可访问,但是在network中我们看到,接口调用是http://aryaapi.frankkai.cn:8080/spring/vue/readUsers的形式。

太暴露不好。有没有办法去掉8080端口呢?


那当然是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,接口调用就直接http://aryaapi.frankkai.cn/spring/vue/readUsers的形式了。


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


原文:https://github.com/arya-sprin...

相关文章
|
1天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术演进
本文探讨了从前端到后端的技术演进,介绍了前端、后端以及多种编程语言,如Java、Python、C、PHP和Go,以及数据库在构建现代化Web应用中的应用。通过深入剖析各个技术领域的发展和应用,读者将对构建高效、可扩展、安全的Web应用有更深入的理解。
|
4天前
|
前端开发 Java Go
从前端到后端:构建现代化Web应用的技术实践
本文将介绍如何通过前端和后端技术相结合,构建现代化Web应用的技术实践。我们将探讨前端开发、后端架构以及多种编程语言(如Java、Python、C、PHP、Go)在构建高效、可扩展的Web应用中的应用。
|
4天前
|
前端开发 JavaScript Java
npm与Maven:前端与后端构建工具深度对比学习
npm与Maven:前端与后端构建工具深度对比学习
|
4天前
|
前端开发 JavaScript NoSQL
从前端到后端:构建全栈开发者的必备技能
随着互联网技术的不断发展,全栈开发者的需求日益增长。本文将介绍如何从前端到后端,掌握全栈开发所需的关键技能,包括前端框架的选择、后端语言的学习以及数据库的应用,帮助读者构建成为全面的技术专家。
|
5天前
|
前端开发 测试技术 持续交付
《跨界合作:前端与后端如何优化协作效率》
在当今软件开发领域,前端和后端开发团队通常是分开工作的,但他们的协作质量直接影响着项目的成功与否。本文将探讨如何通过优化前端与后端的协作方式,提高开发效率和项目质量,从而实现更好的跨界合作。
|
5天前
|
JSON JavaScript 前端开发
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
vue的 blob文件下载文件时,后端自定义异常,并返回json错误提示信息,前端捕获信息并展示给用户
|
5天前
|
前端开发 小程序 测试技术
前端后端测试接口mork神器,Apifox使用一分钟入门
前端后端测试接口mork神器,Apifox使用一分钟入门
13 0
|
5天前
|
存储 安全 前端开发
PHP医院安全不良事件管理系统源码(AEMS)前端vue2+element+后端laravel8不良事件上报与闭环管理
医院不良事件上报与管理系统结合现代医院管理思路,遵照PDCA全面质量循环管理方法而设计,并在多家大型三甲医院成熟运用。系统从事件上报、基于人、机、料、法 、环的RCA分析、事件整改、效果评估实现了结构化、标准化、智能化的管理和分析,满足医院可追溯化、全流程闭环管理要求,满足等级医院评审细则要求,大力提高医院不良事件上报的效率,保障事件分析的准确性,促进医疗安全的提高,避免同类事件再次发生,改善整个医院医疗安全,从而实现医院安全医疗的目标。
27 3
|
5天前
|
移动开发 前端开发 JavaScript
前端和后端限制文件大小的具体实现方式
【5月更文挑战第3天】前端限制文件大小可使用HTML5的"accept"和"maxSize"属性或JavaScript的File API,后端则可通过判断文件字节大小、使用第三方库如Apache Commons FileUpload,或者在服务器框架如Flask、Spring中设置限制。Nginx也可作为反向代理设定上传限制,但可能影响用户体验。
26 3
|
5天前
|
JSON JavaScript Java
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
从前端Vue到后端Spring Boot:接收JSON数据的正确姿势
26 0

热门文章

最新文章