JeecgBoot使用Let‘s Encrypt申请并部署ssl证书,开启https

这篇文章解决的问题:我是使用JeecgBoot,买的阿里云的ECS,但是不想花钱买阿里云的ssl证书,所以使用Let's Encrypt申请了免费证书(国内需要拥有备案好的域名),缺点是证书有效期只有3个月,3个月用完就得重新部署。这篇文章解决的是用Let's Encrypt申请免费证书,并部署到JeecgBoot项目上,用的是jar部署的方式。

一、申请ssl证书

附Let's Encrypt网址:来此加密 - Let's Encrypt 在线免费申请SSL证书

输入域名,选择算法,提交申请。

会有一个域名的验证,我记得一个是dns验证,以阿里云为例,在域名解析那里添加一条规则,选择TXT并把解析结果设置成Let's Encrypt上的那一串文本即可。

申请成功后,会到如下界面,选则通用格式的下载下来。

解压得到下图文件

接着选择pfx格式的进行下载

解压得到下图

二、部署到JeecgBoot

后端部署:

1.把certificate_new.pfx复制到后端resource目录下,如下图:

2.修改配置文件

server:
    ssl:
      enabled: true
      key-store: certificate_new.pfx
      key-store-type: PKCS12
      key-store-password: #这里填detail.txt中的密码

打包发布即可,后端启动日志会显示https

前端部署:

前端修改.env.production

将证书文件(fullchain.crt和private.pem)传到服务器上,保证有访问权限即可,接着修改nginx配置:加一个server

#把80端口的默认转发到https  
server {
      listen 80;  # 监听80端口
      server_name 你的域名;

      return 301 https://$host$request_uri;
  }


server {
    listen 443;
    server_name 你的域名;
    ssl on;

    ssl_certificate fullchain.crt文件路径;
    ssl_certificate_key private.pem文件路径; 

    # 前端静态资源
    root html/dist;

    location / {
        try_files $uri $uri/ /index.html;
    }

    # 后端 API 服务代理配置
    location /jeecgboot/ {
        proxy_pass https://127.0.0.1:8080/jeecg-boot/;  #这里要改成https
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

重新加载nginx配置,记得防火墙(安全组)要放行443端口。

拿捏。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值