SpringBoot和Vue2项目配置https协议过程

 更新时间:2024年10月10日 08:46:24   作者:我是懒洋洋大王  
本文详细介绍了SpringBoot项目和Vue2项目的部署流程及SSL证书配置,对于SpringBoot项目,需将.pfx文件放入resources目录并配置server,然后打包部署,Vue2项目中,涉及检查nginx的SSL模块、编译新的nginx文件

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访问你的网站了,如果能够正常访问则说明配置成功,完结撒花,嘻嘻~~~

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot实现动态更新任务的方法

    Spring Boot实现动态更新任务的方法

    这篇文章主要介绍了Spring Boot实现动态更新任务的方法,文中给出了详细的示例代码供大家参考学习,对大家学习使用Spring Boot动态更新任务具有一定的参考价值,需要的朋友们来一起看看吧。
    2017-04-04
  • mybatis定义sql语句标签之delete标签解析

    mybatis定义sql语句标签之delete标签解析

    这篇文章主要介绍了mybatis定义sql语句标签之delete标签解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Java中数组的常见操作合集

    Java中数组的常见操作合集

    这篇文章主要为大家详细介绍了Java中数组的一些常见操作,例如:数组遍历、数组获取最大值元素、数组反转等,感兴趣的小伙伴可以了解一下
    2022-10-10
  • 详解Java Unsafe如何花式操作内存

    详解Java Unsafe如何花式操作内存

    C++可以动态的分类内存,而java并不能这样,是不是java就不能操作内存呢,其实是有其他办法可以操作内存的,下面就一起看看Unsafe是如何花式操作内存的吧
    2023-08-08
  • Spring Boot如何使用httpcomponents实现http请求

    Spring Boot如何使用httpcomponents实现http请求

    这篇文章主要介绍了Spring Boot使用httpcomponents实现http请求的示例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • IDEA中Maven报错Cannot resolve xxx的解决方法汇总(亲测有效)

    IDEA中Maven报错Cannot resolve xxx的解决方法汇总(亲测有效)

    在IDEA中的pom文件中添加了依赖,并且正确加载了相应依赖,pom文件没有报红,看起来像是把所有依赖库全部加载进来了,但是代码中使用依赖的类库使报红,本文给大家介绍了IDEA中Maven报错Cannot resolve xxx的解决方法汇总,需要的朋友可以参考下
    2024-06-06
  • Java多线程atomic包介绍及使用方法

    Java多线程atomic包介绍及使用方法

    这篇文章主要介绍了Java多线程atomic包介绍及使用方法,涉及原子更新基本类型介绍及代码示例,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • 基于java实现DFA算法代码实例

    基于java实现DFA算法代码实例

    这篇文章主要介绍了基于java实现DFA算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Tomcat数据源配置方法_JBuilder中

    Tomcat数据源配置方法_JBuilder中

    今天帮一同事配置一个数据源,采用tomcat5.5.9,本来是个很简单的事,以前也配过,但由于很长时间没用过容器提供的数据源了(IOC用惯了),也只记的个大概了,所以刚开始一配就出错了,google了一下,有很多资料,照着试试却都不好使(到不是别人说的不对,只是大家用的版本不同)。
    2008-10-10
  • Java中Future、FutureTask原理以及与线程池的搭配使用

    Java中Future、FutureTask原理以及与线程池的搭配使用

    这篇文章主要为大家详细介绍了Java中Future、FutureTask原理以及与线程池的搭配使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09

最新评论