SpringBoot和Vue2项目配置https协议

news/2024/5/20 19:20:55 标签: spring boot, 后端, java

1、SpringBoot项目

① 去你自己的云申请并下载好相关文件,SpringBoot下载的是Tomcat(默认),Vue2下载的是Nginx

② 将下载的压缩包里面的.pfx后缀文件拷贝到项目的resources目录下

③ 编辑配置文件

主要是框里面的内容,注意是配置在server

然后就是把项目打成jar包,部署到服务器上即可,这里就不过多赘述了

2、Vue2项目

① 查看nginx是否安装了with-http_ssl_module

进入到你的nginx安装目录下面,我的目录是在(/usr/local/nginx),进入到目录的sbin目录下,输入

# 注意这里是大写的V,小写的只显示版本号 
./nginx -V

如果出现 (configure arguments: --with-http_ssl_module), 则已安装。

一般情况下都是不存在ssl模块的

接下来进入到你的解压缩后的nginx目录,注意这里不是nginx安装目录,是解压缩后的目录,我的是在(/usr/local/nginx-1.14.0),进入目录后,输入

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

接下来执行make,切记不要执行make install,否则会重新安装nginx

make

上述操作执行完成以后,你的目录下会出现objs文件夹,文件夹内存在nginx文件,如图:

② 接下来使用新的nginx文件替换掉之前安装目录sbin下的nginx,注意这里替换的之前可以先将之前的文件备份下,停掉nginx服务

(一定要保证没有nginx进程在运行,先用命令查看是否还有nginx进程在运行,下图则表明还有nginx进程在运行)很重要!很重要!很重要!

ps -ef | grep nginx

然后执行

 ./nginx -s stop

如果还是跟上图一样,无法关闭,可以使用杀死进程方式关闭:(很重要这一步,一定要确保之前的进程都杀掉再往下走,不然怎么配置都没意义!!!

ps -ef | grep nginx 
kill -9 进程id 


# 真杀不掉,那就用下面这个指令 
pkill -9 nginx

上面没问题之后,往下走(命令的1.14.0是我nginx的版本,实际操作请以你的版本路径为主,不然会报找不到目录

#替换之前的nginx 
cp /usr/local/nginx-1.14.0/objs/nginx /usr/local/nginx/sbin

成功之后,进入到nginx安装目录下,查看ssl是否成功

# 注意这里是大写的V,小写的只显示版本号 
./nginx -V 


# 可以看到这里出现了configure arguments: --with-http_ssl_module 证明已经安装成功

③ 配置ssl证书

将下载的证书(这里的证书就是第一点提到的,里面有两个文件,后缀分别为:.key,.pem)解压上传至服务器,(只需pem文件和key文件),我将它放在nginx安装目录下,创建cert文件夹

mkdir cert

④ 修改nginx.conf配置文件(直接Ctrl+A,再CV全部覆盖掉nginx.conf里面的内容即可

(主要改里面的第23、45、48、49、58行)

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    server {
        # 监听端口80
        listen 80;
        # 配置域名 ---改---
        server_name xxx.com;
        # 重定向到HTTPS协议
        rewrite ^(.*)$ https://$host$1 permanent;
    }

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

 server {
          listen       443 ssl;
          #你的域名,申请证书时填的是什么域名就填什么域名 ---改---
          server_name  xxx.com;
    
           #上传的证书 ---改---
          ssl_certificate      ../cert/xxx.pem;
          ssl_certificate_key  ../cert/xxx.key;
    
          ssl_session_cache    shared:SSL:1m;
          ssl_session_timeout  5m;
    
          ssl_ciphers  HIGH:!aNULL:!MD5;
          ssl_prefer_server_ciphers  on;

          #---改---
           location / {
                # 你前端页面的路径        
                root xxx/dist;
                index index.html index.htm;
                try_files $uri $uri/ /index.html;
            }
                
         error_page 404 /404.html;
           location = /404.html {
         }
        
         error_page 500 502 503 504 /50x.html;
           location = /50x.html {
         }
      }

}

⑤ 重启nginx

./nginx -s reload

然后就可以通过https访问你的网站了,如果能够正常访问则说明配置成功,完结撒花,嘻嘻~~~


http://www.niftyadmin.cn/n/5481587.html

相关文章

“植物大战僵尸:机器学习引领游戏AI新革命“

上期回顾: 今天给大家推荐一个Gtihub开源项目:PythonPlantsVsZombies,翻译成中就是植物大战僵尸。 《植物大战僵尸》是一款极富策略性的小游戏。可怕的僵尸即将入侵,每种僵尸都有不同的特点,例如铁桶僵尸拥有极强的抗…

牛客论坛项目中使用到Redis的地方总结

实体分为很多类,实体的确定要通过实体类型和实体id两个属性同时确定。牛客论坛中使用到了3类实体: 1 登录 使用到的Redis命令: set key value // 设置指定key的值为value get key // 获取指定key的值1.1 存储/获取验证码 验证码文本&…

Java Set基础篇

目录 前言一、常用Set1.1 Set1.1.1 特点 1.2 HashSet1.2.1 特点1.2.2 使用 1.3 TreeSet1.3.1 特点1.3.2 使用 1.4 LinkedHashSet1.4.1 特点1.4.2 使用 二、对比总结 目录 前言 一、常用Set 1.1 Set Set是一个继承自Collection的接口&#xff1a; public interface Set<…

JavaScript数组操作方法全录

改变原数组的方法&#xff1a; push() - 将一个或多个元素添加到数组的末尾&#xff0c;并返回新数组的长度。 pop() - 从数组中移除最后一个元素&#xff0c;并返回该元素。 shift() - 从数组中移除第一个元素&#xff0c;并返回该元素。 unshift() - 将一个或多个元素添加到…

GD32F470_GY30光照传感器模块 数字光强度BH1750FVI光照度

2.29 BH1750光照强度检测传感器 采用ROHM原装BH1750FVI芯片供电电源:3-5V&#xff0c;光照度范围:0-65535lx传感器内置16bitAD转换器&#xff0c;直接数字输出&#xff0c;省略复杂的计算&#xff0c;省略标定&#xff0c;不区分环境光源接近于视觉灵敏度的分光特性&#xff0…

初识--数据结构

什么是数据结构&#xff1f;我们为什么要学习数据结构呢....一系列的问题就促使我们不得不了解数据结构。我们不禁要问了&#xff0c;学习C语言不就够了吗&#xff1f;为什么还要学习数据结构呢&#xff1f;这是因为&#xff1a;数据结构能够解决C语言解决不了的问题&#xff0…

ELK Stack、Kafka 和 Filebeat 认识和使用上手

ELK Stack、Kafka 和 Filebeat 认识和使用上手 ELK Stack 是一个强大的日志管理和分析平台&#xff0c;由 Elasticsearch、Logstash 和 Kibana 组成。Elasticsearch 负责存储和索引日志数据&#xff0c;Logstash 用于日志处理和转换&#xff0c;而 Kibana 提供可视化界面。在现…

外包干了3天,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…