tomcat,springboot,vue nginx http转https方法总结

一、Tomcat配置HTTP协议转HTTPS协议

1. keytool.exe生成自签名证书

keytool路径为jdk的bin目录下,如jdk已配好环境变量,可以cmd直接使用该命令。

keytool -genkey -v -alias tomcat -keyalg RSA -keystore d:\local.keystore -validity 36500

生成别名为 tomcat 名称为local.keystore的证书,有效期100年。生成过程的密码自己填写,你的名字对应为网站域名。

2. tomcat配置https访问

修改 Tomcat 的 server.xml 文件:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"  maxThreads="150"

scheme="https"  secure="true"  clientAuth="false" sslProtocol="TLS"  keystoreFile="D:\local.keystore"  keystorePass="123456" />

3. 重启tomcat

通过访问  https://127.0.0.1:8443 来测试。

二、Springboot配置HTTP协议转HTTPS协议

1. 把第一步生成的https证书local.keystore复制到springboot项目的resources目录下

2. 在application.yml中添加https相关配置

3. 启动项目

直接启动项目,或者打成jar包,cmd运行命令Java -jar test.jar后,访问https://127.0.0.1:8803

三、nginx 配置https,前端vue后端springboot

1. 证书转换

由于第一步生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。

  1. jks2pfx工具下载: http://www.willrey.com/support/jks2pfx.rar
  2. 将压缩包解开到 D:\jks2pfx 目录下
  3. cmd执行命令:jks2pfx D:\local.keystore 123456 tomcat local D:\

jks2pfx目录下生成三个文件local.key、local.crt、local.pfx,其中local.key和local.crt可用于Nginx配置

2. 配置nginx

nginx.conf配置添加ssl证书,可以将local.key和local.crt拷贝到nginx.conf文件夹下

#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;

    client_max_body_size 1024m;

    client_body_buffer_size 128k;

    sendfile        on;

    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    #此处主要配置nginx ssl证书

    server {

        #SSL 访问端口号为 443,前端访问端口号8091

        listen 8091 ssl;

        #填写绑定证书的域名

        server_name  test;

        #证书文件名称

        ssl_certificate local.crt;

        #私钥文件名称

        ssl_certificate_key  local.key;

        ssl_session_timeout 5m;

        #请按照以下协议配置

        ssl_protocols TLSv1.2 TLSv1.3;

        #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。

        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

        ssl_prefer_server_ciphers on;


       #对应下面app的反向代理

        #前端项目

        location /{

            root D:\dist;   #指定dist位置

            index  index.html index.htm;

            autoindex off;       #开启nginx目录浏览功能

            autoindex_exact_size off;   #文件大小从KB开始显示

            charset utf-8;   #显示中文

            try_files $uri &uri/ /index.html;

            index  index.html index.htm;

            add_header Access-Control-Allow-Origin *;

            add_header Access-Control-Allow-Headers Origin,X-Requested-With,Content-Type,Accept;

           add_header 'Access-Control-Allow-Methods' 'GET, PUT, POST, DELETE, OPTIONS'; #支持请求方式

           add_header 'Access-Control-Allow-Headers' 'Content-Type,*';

        }

        location /prod-api/{

             #**https**://localhost:9001;#此处是你后端springboot有没有配置https

              proxy_pass https://127.0.0.1:8090/;  

              proxy_set_header Host $http_host;

              proxy_set_header X-Real-IP $remote_addr;

              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

       }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

              location ~* \.(txt|doc)$ {

                     root D:\ nginx-1.25.1\html;

                     deny all;

        }

             

              error_page  403 /403.html;

              location = /403.html {

                     root html;

              }

    }

}

3. 启动nginx

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值