java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot和Vue2项目配置https协议

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

作者:我是懒洋洋大王

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

总结

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

您可能感兴趣的文章:
阅读全文