项目部署至服务器-域名部署+ssl证书的更换

 1. 背景介绍

在Web应用部署过程中,从HTTP迁移到HTTPS是保障应用安全性的重要一环。HTTPS通过SSL/TLS协议为数据传输提供加密保护,能有效防止中间人攻击和数据窃取。本文将详细介绍如何在SpringBoot项目中配置SSL证书并在nginx服务器上进行部署。

2.前置准备

  • 购买并注册了域名
  • 申请了SSL证书(可以是商业证书或免费的Let's Encrypt证书)
  • 已经将项目部署在服务器上
  • 安装配置了nginx服务器

3.SSL证书配置步骤

3.1 SpringBoot后端配置

   1.证书文件处理:

  • 解压下载的证书文件包(选择Tomcat格式)
  • 将.pfx格式的证书文件复制到项目的resources目录下

      2.配置application.yml(前端也需要修改配置文件,允许https):

server:
  port: 8099 # HTTPS 端口
  ssl:
    protocol: TLS
    key-store: classpath: XXXXX【填对应的文件名】
    key-store-type: PKCS12
    key-store-password: XXXXX【填txt文件中的密码】
    enabled: true
    forwarded-headers-strategy: native

       3.执行mvn clean 以及mvn package,将项目打包为jar包

3.2 Nginx配置

   1.解压nginx格式的证书文件,通常包含:

  • .pem 格式证书文件
  • .key 格式私钥文件

    2.证书文件部署:

  • 点击要部署域名的网站:

  •  进入ssl,选择当前证书:

  •  保存之后,ssl证书会存放至路径:

/www/server/panel/vhost/ssl_saved

  • 再次打开站点的管理,进入配置文件(因为我这里是已经部署过一次,过期了需要进行更换),找到自己设置证书和key对应的存放路径:

把ssl_saved里面的两个文件替换到上图的这两个路径下 ,点击保存,重新启动nignx。      

这时就会在项目列表看到部署的站点对应的sll证书一栏显示还有多久到期了。

#nginx配置示例代码:

server {
    listen 443 ssl;
    server_name your-domain.com;
    
    ssl_certificate /path/to/your/certificate.pem;
    ssl_certificate_key /path/to/your/private.key;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    
    location / {
        proxy_pass http://localhost:8099;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# HTTP重定向到HTTPS
server {
    listen 80;
    server_name your-domain.com;
    return 301 https://$server_name$request_uri;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值