首页 > 其他分享 >Vue+SpringBoot项目分离部署踩坑记录

Vue+SpringBoot项目分离部署踩坑记录

时间:2023-08-23 10:34:07浏览次数:49  
标签:Vue SpringBoot 部署 huskysir server ssl html key store

昨天花了一晚上终于成功部署了个人网站,在这个过程中踩了很多坑,现在回顾总结记录一下,以免今后继续犯错误

前端:Vue

后端:SpringBoot

数据库:Mysql

一、前端

1、前端项目采用Nginx进行部署,其中Nginx配置文件部分内容如下

nginx.conf部分内容

 1 server {
 2         listen  443 ssl;
 3         server_name             www.huskysir.cn;
 4         ssl_certificate         huskysir.cn_bundle.crt;
 5         ssl_certificate_key     huskysir.cn.key;
 6         ssl_session_timeout     5m;
 7         ssl_protocols           TLSv1.2 TLSv1.3;
 8         ssl_ciphers             ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
 9         ssl_prefer_server_ciphers on;
10 ​
11 ​
12         location / {
13                 root    /usr/share/nginx/html/huskysir;
14                 index   index.html index.htm;
15                 try_files $uri $uri/ /index.html;
16         }
17 }
18 ​
19 server {
20         listen 80;
21         server_name     www.huskysir.cn;
22         return  301     https://$host$request_uri;
23 }

注意:

  • linux系统的location中“root /usr/share/nginx/html/huskysir;”,父子文件用'/'隔开,而在windows系统中父子文件默认是'\'隔开,注意斜杠符号

  • ”try_files $uri $uri/ /index.html;“表示先检查$uri,其次$uri/,最后/index.html

2、前端请求后端接口的Url主机名应该是域名而非IP地址,如果采用IP地址则可能会出现“NET::ERR_CERT_COMMON_NAME_INVALID”的错误(SSL证书)

主机名

1 # 域名
2 baseUrl = "https://www.huskysir.cn:8081"
3 # IP地址
4 baseUrl = "https://xxx.xxx.xxx.xxx:8081"

3、浏览器警告

Mixed Content: The page at ‘https://xxx’ was loaded over HTTPS, but requested an insecure test ‘http://xxx’. This request has been blocked; the content must be served over HTTPS.

只需要将不安全的http升级为https即可,方式为在html页面内加上meta标签元素

1 <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">

二、后端

端口配置内容,也是我耗费时间最多的问题,在配置测试过程中一直报错,错误内容为:

  • Keystore was tampered with, or password was incorrect

  • Password verification failed

application.yml部分内容

1 # 端口配置
2 server:
3   port: 8081
4   ssl:
5     key-store: classpath:huskysir.cn.jks
6     key-store-type: JKS
7     key-password: ******

我一直怀疑是我的证书有问题,还尝试了jks、pfx多种类型的证书,最后发现原来是版本写法问题

较早版本

1 server:
2   ssl:
3     key-store: classpath:ssl.jks
4     key-store-type: jks
5     key-password: yourpassword

2.7.14版本

1 server:
2   ssl:
3     key-store: classpath:ssl.jks
4     key-store-type: jks
5     key-store-password: yourpassword

仅仅是“key-password”换为了“key-store-password”

标签:Vue,SpringBoot,部署,huskysir,server,ssl,html,key,store
From: https://www.cnblogs.com/huskysir/p/17650023.html

相关文章

  • 探索GreatADM:图形化部署MGR的全新体验
    摘要:在DBA的日常工作中,快速部署数据库高可用架构,且标准化地入网部署数据库是一项重要的基础任务。本文将介绍常见的部署MGR的方式,并重点介绍万里数据库的GreatADM数据库管理平台进行图形化、可视化、标准化的部署过程,以提高交付效率和质量,给DBA提供一种全新的体验。(本文阅读大约......
  • 【算法】在vue3的ts代码中分组group聚合源数据列表
    有一个IList<any>()对象列表,示例数据为[{id:'1',fieldName:'field1',value:'1'},{id:'1',fieldName:'field2',value:'2'},{id:'2',fieldName:'field1',value:'1'},{id:'2',......
  • vue-draggable跨iframe拖拽
    环境vue3"vuedraggable":"^4.1.0"物料区<draggableclass="dragArealist-groupcomponents-draggable":list="material":group="{name:'formGroup',pull:'clone',put:fals......
  • 社区版idea实现热部署
    一、概述在日常开发过程中经常性得要修改及调试代码,而每次修改及调试代码都需要重启服务。项目如果比较大,频繁的重启服务是比较耗费时间的。那么有没有一种方式能够在不重启服务的情况下就可以使更改的代码生效?当然是有的,那就是SpringBoot提供的热部署功能。下面来看看具体......
  • vue中$event的元素属性
    <template><div><button@click="clickFun($event)">点击</button></div></template><script>exportdefault{data(){return{}},methods:{check(event)......
  • idea无法构建springboot工程
    1、出现的问题Initializationfailedfor'http://start.aliyun.com'PleasecheckURL,networkandproxysettings.Errormessage:ErrorparsingJSONresponse 2.解决方案   ......
  • 基于webflux的项目如何部署到Tomcat?
    WebFlux是为Netty设计的,这是一个异步和非阻塞的应用服务器,而不是Tomcat这样的传统servlet容器。确实可以在Servlet3.1+容器上运行WebFlux应用,只是这样做会有一些限制和需要特定的配置。为了使WebFlux应用在Tomcat上工作,你可以尝试以下步骤:修改POM文件:添加spring-boot-starter-tom......
  • LNMP生产环境部署
    LNMP生产环境部署一、编译安装MySQLMySQL类型1、MySQLCommunityServer-MySQLCommunityServer是社区版本,开源免费,但不提供官方技术支持。MySQLCommunityServer也是我们通常用的MySQL的版本。根据不同的操作系统平台细分为多个版本。2、MySQLEnterpriseEdition-MySQL......
  • SpringBoot整合FFmpeg进行视频分片上传------>Windows
    SpringBoot整合FFmpeg进行视频分片上传------>Windows分片上传的核心思路:将文件按一定的分割规则(静态或动态设定,如手动设置20M为一个分片),用slice分割成多个数据块。为每个文件生成一个唯一标识Key,用于多数据块上传时区分所属文件。所有分片上传完成,服务端校验合并标识为Key的......
  • Springboot生成二维码整合
    Springboot生成二维码整合我们使用两种方式,去生成二维码,但是其实,二维码的生成基础,都是zxing包,这是Google开源的一个包,第一种是使用原始的zxing方式去实现,第二种是使用hutool来实现,hutool其实也是对于zxing的一个封装,但是封装前后,确实比较简单了。Zxing原生方式添加依赖<!--zx......