阿里云服务器上通过宝塔面板部署SpringBoot+vue项目并添加ssl证书实现https加密传输

news2024/9/22 19:30:20
前言:如果只想要实现域名访问,不必添加ssl证书的话可以看我上一篇文章

前期工作:

  • 一台服务器
  • 一个已经备案的域名(需要大概一周才能备案完成,可提前准备)
  • 域名映射到服务器
  • 申请两份ssl证书(我的方案:阿里云+腾讯云)
  • 宝塔面板安装
    如果能走到要添加ssl证书这一步,相信以上步骤应该都完成了,接下来就直接进入正片。

**所遇问题: **我遇到的问题是这样,当时我只申请了一份证书,然后通过nginx进行部署配置,前端页面可以通过https访问到,但是获取后台数据的时候会报错,说是不能用安全的链接访问不安全的,然后,我就在宝塔面板布置后台程序证书,会报各种的错,

**解决方案: **然后我就想到,直接在程序里嵌入ssl证书,然后前端通过Nginx配置实现加密访问,用到了两个证书。然后就成了,感觉这并不是最佳的解决方案,但是好像以我目前的知识并不能想到更好的,
所以有更好的解决方案还望不吝赐教!

后台代码打包

步骤一:先将后台有关域名的部分改写成https

在这里插入图片描述
没有的话直接暴露端口号就可以了。

步骤二:申请ssl证书

去腾讯云官网或者阿里云,申请ssl证书,证书的格式为JKS格式(盲猜其他格式也可以)如图:
在这里插入图片描述

下载后的文件解压后是这样子。
在这里插入图片描述

然后将下载的证书放到你的项目resource文件夹下,然后在放到服务器你指定的目录一份,一般是和jar包同文件件。
本地程序目录结构
在这里插入图片描述
然后再到你的properties 文件配置或者YAML 文件配置
配置如下图
在这里插入图片描述
然后就算配置完成,直接将后台代码打成jar包就可以了。

步骤三:到宝塔面板去部署程序

在这里插入图片描述
接下来就是运行程序。
在这里插入图片描述
到这里一定确保能正常运行,然后去测试访问自己的后台接口,可以在浏览器上也可以用postman测试。
例如:https://xxx.com:端口号/about
到此,我的后台数据已经能访问到了。

前台代码打包

步骤一:将你调用的后端接口改为https访问

我的是这样(注意:最好用域名,不要用IP地址,可能会报错)
在这里插入图片描述

步骤二 :将vue项目进行打包

执行 npm run build 命令 得到dist文件夹

步骤三:直接通过宝塔面板上传到服务器指定文件

简单 不表

步骤四:去阿里云申请另一份证书并部署

此处我给一个链接,然后按照阿里云的步骤一步一步来就好。

https://yundun.console.aliyun.com/?spm=5176.12818093_-1363046575.0.dre4.3be916d0DOGpzy&p=cas#/certExtend/free/cn-hangzhou

在这里插入图片描述
当你的证书部署到服务器后,可以进行下一步配置。

步骤四:配置Nginx,拦截访问服务器的443端口

在这里插入图片描述

   server {
     #HTTPS的默认访问端口443。
     #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
     listen 443 ssl;
     
     #填写证书绑定的域名
     server_name <>;
 
     #填写证书文件名称
     ssl_certificate cert/www.XX.top.pem;
     #填写证书私钥文件名称
     ssl_certificate_key cert/www.XX.top.key;
 
     ssl_session_cache shared:SSL:1m;
     ssl_session_timeout 5m;
 
     #默认加密套件
     ssl_ciphers HIGH:!aNULL:!MD5;
   
     #自定义设置使用的TLS协议的类型以及加密套件(以下为配置示例,请您自行评估是否需要配置)
     #TLS协议版本越高,HTTPS通信的安全性越高,但是相较于低版本TLS协议,高版本TLS协议对浏览器的兼容性较差。
     #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
     #ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;

     #表示优先使用服务端加密套件。默认开启
     ssl_prefer_server_ciphers on;
 
 
    location / {
            root 你的路径;
          index  index.html;
          try_files $uri $uri/ /index.html;
        }
        add_header Access-Control-Allow-Origin "*";
        default_type 'text/html';
        charset utf-8;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
              root html;
        }
}
        

然后保存重置一下Nginx服务,就可以成功访问了、

总结

我遇到的问题是这样,当时我只申请了一份证书,然后通过nginx进行部署配置,
前端页面可以通过https访问到,但是获取后台数据的时候会报错,
说是不能用安全的链接访问不安全的,然后,我就在宝塔面板布置后台程序证书,
会抱各种的错,然后我就想到,直接在程序里嵌入ssl证书,然后就成了,
感觉这并不是最佳的解决方案,但是好像以我目前的知识并不能想到更好的,
所以有更好的解决方案还望不吝赐教!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/823936.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Xilinx A7开发板LVDS IO无输出问题解决方法

使用A7-35T FGG484的FPGA开发板bank16上的IO作为差分LVDS的输入输出&#xff0c;搭建输入输出测试工程发现LVDS可以输入、无法输出。查阅UG471&#xff0c;找到如下信息&#xff1a; 手册中已经针对A7的LVDS做了明确的应用说明&#xff1a; &#xff08;1&#xff09;HP bank上…

通向架构师的道路之apache性能调优

一、总结前一天的学习 在前两天的学习中我们知道、了解并掌握了Web Server结合App Server实现单向Https的这样的一个架构。这个架构是一个非常基础的J2ee工程上线布署时的一种架构。在前两天的教程中&#xff0c;还讲述了Http服务 器、App Server的最基本安全配置&#xff08;…

PDM系统有什么好处之数据高效管理

在当今信息化时代&#xff0c;企业面对海量的产品数据和信息&#xff0c;如何高效地管理这些数据成为了关键问题。而PDM系统&#xff08;Product Data Management&#xff0c;产品数据管理&#xff09;以其强大的数据高效管理功能&#xff0c;为企业带来了诸多好处。我们以最新…

使用DeferredResult来设计异步接口

文章目录 DeferredResult 介绍思路Demo搭建1.定义一个抽象的请求体2.定义一个接口返回体3.定义一个接口请求体继承抽象类AsynTaskBaseRequest<T<T>>4.定义seveice类&#xff0c;并声明一个异步方法&#xff08;Async注解&#xff09;5.定义一个返回DeferredResult的…

助力618-Y的混沌实践之路 | 京东云技术团队

一、写在前面 1、混沌是什么&#xff1f; 混沌工程&#xff08;Chaos Engineering&#xff09;的概念由 Netflix 在 2010 年提出&#xff0c;通过主动向系统中引入异常状态&#xff0c;并根据系统在各种压力下的行为表现确定优化策略&#xff0c;是保障系统稳定性的新型手段。…

【简单认识rsync远程同步】

文章目录 一.rsync1、简介2.rsync应用场景3、 rsyncinotify的应用场景4、 rsynccron的应用场景 二.配置rsync备份源&#xff08;同步方式&#xff09;1.rsync同步源2.同步方式3.备份的方式 三.常用rsync命令3.配置源的两种表达 四、配置rsync实现同步1.使用ip表达式同步2.使用u…

【WebRTC---序篇】(七)RTC多人连麦方案

服务端可以选择mediasoup&#xff0c;作为SFU服务器&#xff0c;只负责转发数据 下图举例三个Client (browser或者客户端)同时加入一个房间&#xff0c;每个app同时发布一路视频和一路音频&#xff0c;并且接受来自其他app的音视频流&#xff0c;mediasoup内部的结构如下&…

Docker快速入门笔记

Docker快速入门 前言 当今软件开发领域的一股热潮正在迅速兴起&#xff0c;它融合了便捷性、灵活性和可移植性&#xff0c;让开发者们欣喜若狂。它就是 Docker&#xff01;无论你是一个初学者&#xff0c;还是一位经验丰富的开发者&#xff0c;都不能错过这个引领技术浪潮的工…

【Git】多人协作-多分支协作

文章目录 准备工作多人协作场景2-多分支协作补充&#xff1a;关于建立连接 远程分⽀删除后&#xff0c;本地依然能看到的解决办法 准备工作 在windosw环境下&#xff0c;再克隆同一个项目仓库&#xff0c;模拟一起协作开发的小伙伴 到此&#xff0c;相当于有了两个⽤⼾&#x…

344.翻转字符串+387.字符串中的第一个唯一字符

目录 一、翻转字符串 二、字符串中的第一个唯一字符 一、翻转字符串 344. 反转字符串 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:void reverseString(vector<char>& s) {int start0;int end s.size()-1;while(start < end){swap(s[sta…

超详细!Jmeter性能测试

前言 性能测试是一个全栈工程师/架构师必会的技能之一&#xff0c;只有学会性能测试&#xff0c;才能根据得到的测试报告进行分析&#xff0c;找到系统性能的瓶颈所在&#xff0c;而这也是优化架构设计中重要的依据。 测试流程&#xff1a; 需求分析→环境搭建→测试计划→脚…

安装使用 StableDiffusionWebUI

安装使用 StableDiffusionWebUI 1 什么是 StableDiffusionWebUI2 如何完美运行 StableDiffusionWebUI 1 什么是 StableDiffusionWebUI StableDiffusion 并不是一个真正意义上的软件&#xff0c;它是由 Github 上一位叫 automatic1111 的开发者将 StableDiffusion 的源代码做了一…

Go语言入门:从零开始的快速指南(一)

文章目录 引言Go语言的诞生背景Go 语言的特性安装Go语言环境集成开发环境安装第一个Go程序Go 源代码的特征解读 引言 Go语言&#xff08;也称为Golang&#xff09;是一种开源的、静态类型的编程语言&#xff0c;由Google开发。它的设计目标是简单、高效、安全、并且易于学习和…

使用 Docker Compose 部署 Redis Cluster 集群,轻松搭建高可用分布式缓存

Redis Cluster&#xff08;Redis 集群&#xff09;是 Redis 分布式解决方案的一部分&#xff0c;它旨在提供高可用性、高性能和横向扩展的功能。Redis Cluster 能够将多个 Redis 节点组合成一个分布式集群&#xff0c;实现数据分片和负载均衡&#xff0c;从而确保在大规模应用场…

Nacos 下载安装教程

文章目录 事先准备下载并启动 Nacos设置 Nacos 开机自启动开放 Linux 外部访问权限访问 Nacos 管理界面附录 笔者的运行环境&#xff1a; 安装成功过的 Nacos&#xff1a; Nacos 2.2.3 安装成功过的 Java&#xff1a; Java 17.0.7 安装成功过的 Linux&#xff1a; RedHat Ent…

学习Node.js的基础知识和核心概念(全面)

Node.js&#xff0c;这个神奇的技术&#xff0c;融合了前端与后端的力量&#xff0c;让JavaScript在服务器端发挥了异乎寻常的魔力。本文将通过代码和文字解释&#xff0c;全面介绍Node.js的特点&#xff0c;从异步非阻塞I/O到强大的模块系统&#xff0c;再到丰富的包管理和事件…

计算机软件著作权登记申请表-模板

计算机软件著作权登记申请表 软件基本信息 软件全称 Xxxxx软件 软件简称&#xff08;如无则不填&#xff09; 分类号 说明:在附件图1-计算机软件分类代码表中提供的分类编号选择填写 计算机软件分类代码&#xff08;单选&#xff09; 30104 计算机软件适用的国民经济代…

C++学习day--17 二级指针、数组指针、指针数组

1、二级指针 二级指针的定义&#xff1a; 二级指针也是一个普通的指针变量&#xff0c;只是它里面保存的值是另外一个一级指针的地址 int guizi1 888; int *guizi2 &guizi1; //1 级指针&#xff0c;保存 guizi1 的地址 int **liujian &guizi2; //2 级指针&a…

操作系统使用免密登录

服务器免密登录 背景 在工作中使用密码登录有时候会出现这样或者那样的不方便&#xff0c;一是密码要输入&#xff0c;如果明文输入则不安全&#xff0c;二则一旦修改密码要重新分发到有权限的小伙伴 场景 在之前的工作中有很多场景需要免密等登录&#xff0c;使用免密带来…

Lvs missing port问题实例

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 LVS相关文章链接: LVS 流程 SVS 流程 LVS extract net方法