SpringBoot和Vue2项目配置https协议过程
作者:我是懒洋洋大王
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访问你的网站了,如果能够正常访问则说明配置成功,完结撒花,嘻嘻~~~
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。