Vue+SpringBoot项目分离部署踩坑记录
昨天花了一晚上终于成功部署了个人网站,在这个过程中踩了很多坑,现在回顾总结记录一下,以免今后继续犯错误
前端: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项目分离部署踩坑记录的更多相关文章
- Mac系统STF自动化环境搭建及部署踩坑记录
因为公司需要寻找一个免root的自动化测试方案,所以以前做的老方案需要被替代.一阵搜寻找到了这个框架,但是部署起来很是折腾,搞了一下午终于搞定,顺便记录一下过程,有需要的自取. 转载请注明出处:htt ...
- Exceptionless 本地部署踩坑记录
仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...
- .NET Exceptionless 本地部署踩坑记录
仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...
- vue使用百度编辑器ueditor踩坑记录
一.使用 下载放入项目 main.js引入 import '../static/UE/ueditor.config.js'; import '../static/UE/ueditor.all.js'; ...
- virtualvenv+django+uWSGI+nginx 部署 踩坑记录
原创博文 转载请注明出处! uwsgi: unrecognized option '--http:8089' uwsgi: unrecognized option '--http' uwsgi trk ...
- vue cli3 + cube-ui 配置rem踩坑记录
在install cube-ui时,选择了后编译,选中使用rem的时候会发现,怎么刷新页面的html字体被设置成了37.5px 感觉太大了,于是去寻找修改的办法,第一反应是webpack的配置,于是去 ...
- 你真的了解字典(Dictionary)吗? C# Memory Cache 踩坑记录 .net 泛型 结构化CSS设计思维 WinForm POST上传与后台接收 高效实用的.NET开源项目 .net 笔试面试总结(3) .net 笔试面试总结(2) 依赖注入 C# RSA 加密 C#与Java AES 加密解密
你真的了解字典(Dictionary)吗? 从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面 ...
- SpringBoot+SpringSecurity+Thymeleaf认证失败返回错误信息踩坑记录
Spring boot +Spring Security + Thymeleaf认证失败返回错误信息踩坑记录 步入8102年,现在企业开发追求快速,Springboot以多种优秀特性引领潮流,在众多使 ...
- VUE使用微信JDK(附踩坑记录)
VUE使用微信分享SDK(附踩坑记录) 微信分享官方文档 安装JS-SDK npm i -S weixin-jsapi 引入包 ES5 写法 const wx = require('weixin-js ...
- SpringBoot + Shiro + shiro.ini 的踩坑记录
0.写在前面的话 好久没写博客了,诶,好多时候偷懒直接就抓网上的资料丢笔记里了,也就没有自己提炼,偷懒偷懒.然后最近参加了一个网络课程,要交作业的那种,为了能方便看下其他同学的作业,就写了个爬虫把作业 ...
随机推荐
- 2021-12-16:给定两个数a和b, 第1轮,把1选择给a或者b, 第2轮,把2选择给a或者b, ... 第i轮,把i选择给a或者b。 想让a和b的值一样大,请问至少需要多少轮? 来自字节跳动。
2021-12-16:给定两个数a和b, 第1轮,把1选择给a或者b, 第2轮,把2选择给a或者b, - 第i轮,把i选择给a或者b. 想让a和b的值一样大,请问至少需要多少轮? 来自字节跳动. 答案 ...
- MMCM/PLL VCO
输入输出时钟频率,input 322.265625Mhz, output 312.5Mhz 对于使用MMCM与PLL的不同情况,虽然输入输出频率是一样的,但是,分/倍频系数是不同的,不能使用同一套参数 ...
- DP杂谈【持续更新中】
什么是DP? 推荐看一下. 正文 滚动数组优化 在一些空间贼小,时间还好的 DP 题目里,会用到优化空间的小技♂巧--滚动数组优化. 滚动数组,顾名思义,一个会滚动的数组,主要是怎样个滚法呢?接下来我 ...
- 欢迎来到farter的可能是最后一个用于博客的地方【
目前先把公告栏里放一堆链接作为导航了(手机上竟然没有公告栏??? 准备从新浪博客往这里迁,整活可能也在这里? 还是复制一份公告栏的链接库吧( 歌声合成相关文章 敝个人站(好用好玩都在这) 敝渣浪博客( ...
- pycham2022最新破解
pycharm破解方式常见有2种: 1 .破解插件+激活码,一般激活到2099年或者2089年! 2 .破解插件.该破解插件可以无限重置30天,也就是pycharm永远有30天的试用期,永不到期! ...
- postman接口关联1
1.接口关联 在接口测试中,经常会遇到后一接口的请求数据需要用到前一接口响应数据 关联接口:简单描述就是一个接口的返回结果作为另一个接口入参,其中最典型的就是需要登录token验证的接口,需要先调用登 ...
- Lombok注解及其作用
Lombok是一个Java库,通过使用注解简化Java类的开发,减少冗余的样板代码.以下是一些常用的Lombok注解及其作用: 1. `@Data`:生成所有属性的getter.setter.`toS ...
- Linux下程序时间消耗监控与统计
良好的计时器可帮助程序开发人员确定程序的性能瓶颈,或对不同算法进行性能比较.但要精确测量程序的运行时间并不容易,因为进程切换.中断.共享的多用户.网络流量.高速缓存访问及转移预测等因素都会对程序计时产 ...
- C#调用Quartz 定时任务。使用Cron表达式的方法
最近在做一个定时任务,要求是每一分钟触发一次. 由于之前是采用的FluentScheduler写的,现在改成了Cron表达式.中间出现了一些问题,所以现在写下来,和大家分享一下. 先说一下准备工作,你 ...
- JUC同步锁原理源码解析二--ReentrantReadWriteLock
JUC同步锁原理源码解析二----ReentrantReadWriteLock 1.读写锁的来源 在开发场景下,对于写操作我们为了保证原子性所以需要上锁,但是对于读操作,由于其不改变数据,只是单纯 ...