zoukankan      html  css  js  c++  java
  • Linux下部署springboot + vue 前后端分离 + ssl访问

    ############# start #############

    因为默认端口 80 在用做官网使用 所以 此处 tomcat使用8443 端口 进行访问

    1. SpringBoot 配置ssl 证书

    1.1.阿里云下申请ssl证书

    1.2 SpringBoot 配置文件中配置ssl 证书

    server:
      # 服务器的HTTP端口,默认为8080
      port: 8071
      servlet:
        # 应用的访问路径
        context-path: /
      ssl: 
        # 将zx.xxxxxxxxx.com替换为自己阿里云申请的ssl证书
        key-store: classpath:zx.xxxxxxxxx.com.pfx 
       #将密码替换为证书密码
        key-store-password: xxxxxxxxx
    
        key-store-type: PKCS12
        key-alias: alias
      port-http: 8070
    

    1.3 将zx.xincloudtech.com.pfx 文件放置到resources目录下 

    1.4 将SpringBoot项目打为Jar包放置到Linux服务器下

    1.5 启动Java 项目

    #后台启动jar包 并将日志输出到.txt文件
    nohup java -jar project.jar >temp.txt &
    
    netstat -tln | grep 8070
    
    sudo lsof -i:8070
    
    sudo kill -9 
    

    2. vue项目中配置 ssl访问 springboot

    2.1 vue中配置 head头信息,避免 Mixed Content: The page at 'xxx' was loaded over HTTPS, but requested an insecure resource 'xxx'.错误信息

    参考:  https://blog.csdn.net/haibo0668/article/details/82947917

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">
    

    2.2 vue 中配置访问路径

    VUE_APP_BASE_API = 'https://zx.xxxxxxxxx.com:8071'

    2.3 将vue项目打包 webstome中执行 build 

    将生成的dist 目录下文件 放置到tomcat 的ROOT 目录下

    2.4 配置tomcat 环境 设置SSL 访问

    2.4.1 在tomcat目录下 新建cert 目录 将证书 放置到cert目录中

    2.4.2 将 keystoreFile 替换为你的证书名称  将keystorePass 修改为你的证书密码

      

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/usr/local/web/tomcat8080/cert/5403768_xxxxxxxxx.com.pfx" keystoreType="PKCS12" keystorePass="UB7G30mn" clientAuth="false" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256" />

    2.5 重新启动tomcat

    ./startup.sh
    ./shutdown.sh

    即可使用https://xxxxxxxxx.com:8443 进行访问 

    ############# end #############

    #配置 nginx 使用域名进行访问官网 

    下载证书 为nginx服务器使用的证书 

    编辑nginx.conf 文件

    vim /etc/nginx/nginx.conf
    
    server {
        listen 443 ssl;
        server_name localhost;
        root html;
        index index.html index.htm;
        ssl_certificate /etc/nginx/conf/cert/5384282_www.xxxxxxxxx.com.pem;   #需要将cert-file-name.pem替换成已上传的证书文件的名称。
        ssl_certificate_key /etc/nginx/conf/cert/5384282_www.xxxxxxxxx.com.key;   #需要将cert-file-name.key替换已上传的证书密钥文件的名称。
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
    #        index index.html index.htm;
         root         /usr/share/nginx/web3/web3; #此处路径为放置静态页面地址
        }
    }

    # 配置完成后 重启 nginx服务 

    #重载nginx服务
    sudo nginx -s reload
    sudo service nginx restart
    

      

     

  • 相关阅读:
    Spring URL重写
    DOUBLE精度问题
    激光推送一
    log4j打印debug日志问题
    dpkg:处理 xxx (--configure)时出错解决办法,也可用于卸载软件出错的情况
    Ubuntu中配置tomcat
    Ubuntu16.04安装Eclipse
    删除mysql数据库后django重建数据库
    MySQL修改root密码
    django1.9和mysql
  • 原文地址:https://www.cnblogs.com/yypr/p/14597640.html
Copyright © 2011-2022 走看看