如何打通前端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...

目录
打赏
0
0
0
0
3811
分享
相关文章
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
98 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
构建高效Java后端与前端交互的定时任务调度系统
通过以上步骤,我们构建了一个高效的Java后端与前端交互的定时任务调度系统。该系统使用Spring Boot作为后端框架,Quartz作为任务调度器,并通过前端界面实现用户交互。此系统可以应用于各种需要定时任务调度的业务场景,如数据同步、报告生成和系统监控等。
32 8
【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
本文介绍了如何配置和启动基于Java的若依(RuoYi)项目,涵盖后端和前端的详细步骤。首先,准备Redis、MySQL以及IDE(如Idea和VS)。接着,通过GitHub获取代码并导入到IDE中,执行必要的SQL文件和配置数据库密码。然后,启动Redis并进行相关配置。最后,按照前端配置步骤克隆前端代码库,打开终端执行命令完成前端配置。整个过程详细记录了每一步的操作,帮助开发者顺利部署若依项目。 如果你觉得有帮助,请点赞、关注和收藏,这将是我持续分享的动力!
546 1
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
224 3
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
56 1
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
1744 0
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
springBoot:template engine&自定义一个mvc&后端给前端传数据&增删改查 (三)
本文介绍了如何自定义一个 MVC 框架,包括后端向前端传递数据、前后端代理配置、实现增删改查功能以及分页查询。详细展示了代码示例,从配置文件到控制器、服务层和数据访问层的实现,帮助开发者快速理解和应用。
后端开发中的性能优化策略
本文将探讨几种常见的后端性能优化策略,包括代码层面的优化、数据库查询优化、缓存机制的应用以及负载均衡的实现。通过这些方法,开发者可以显著提升系统的响应速度和处理能力,从而提供更好的用户体验。
104 6
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
89 2

热门文章

最新文章

  • 1
    Java打包jar运行时分离lib和jar
    6
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    10
  • 3
    从前端视角聊聊通义灵码使用经验,如何更好地提升研发效率
    12
  • 4
    巧用通义灵码,提升前端研发效率
    15
  • 5
    VSCode AI提效工具,通义灵码前端开发体验
    24
  • 6
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    5
  • 7
    课程预告|前端开发者如何用好通义灵码,这份实战指南请查收
    7
  • 8
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    7
  • 9
    【01】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-优雅草卓伊凡拟开发一个一站式家政服务平台-前期筹备-暂定取名斑马家政软件系统-本项目前端开源-服务端采用优雅草蜻蜓Z系统-搭配ruoyi框架admin后台-全过程实战项目分享-从零开发到上线
    10
  • 10
    课时103:生成jar文件
    15
  • AI助理

    你好,我是AI助理

    可以解答问题、推荐解决方案等