服务器 配置SSL for nginx && springboot(jetty) ...

本文详细介绍了如何在 CentOS 7 上使用 Let’s Encrypt 获取并配置 SSL 证书的过程。包括证书安装、Nginx 和 Spring Boot 的 HTTPS 配置,以及 PEM 文件转换为 Jetty 可用格式的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己的小项目到了配置ssl的阶段,去网上找到了Let’s Encrypt ssl证书提供商 免费开放 用的人比较多 按照官方文档的说明 去这个网站按照提示操作 我是在centos7操作的
https://certbot.eff.org/#centosrhel7-nginx

大致过程如下

sudo yum install certbot
certbot certonly --standalone -d example.com -d www.example.com

example换成你的域名

然后证书文件会生成在
/etc/letsencrypt/live/www.xxywithpq.cn/目录下,pem结尾的就是证书文件

这里写图片描述

因为我有一个前后端分离的项目,所以 分为 nginx的配置 和 springboot的配置

1.nginx的配置:

server{
    listen 80;
    server_name www.xxywithpq.cn;
    add_header Strict-Transport-Security max-age=15768000;
    return 301 https://$server_name$request_uri;
}

server {

    listen              443 ssl http2 fastopen=3 reuseport;
    server_name         www.xxywithpq.cn;
    ssl_certificate     /etc/letsencrypt/live/www.xxywithpq.cn/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.xxywithpq.cn/privkey.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;

.........
下面配置省略
.........
}

这里配置了两个server,第一个server是为了有人访问http可以自动跳转https,
ssl_certificate 和 ssl_certificate_key 分别指定了我们刚刚生成的文件,然后重启nginx就可以了!

2.spring boot 的配置:

springboot 我用的是jetty的中间件,然后pem文件它好像不支持,后来我查阅了一下资料,对pem文件进行了转换, 步骤如下:

在linux下分别用下面两句话生成 key.der 和 cert.der

openssl pkcs8 -topk8 -nocrypt -in privkey.pem -inform PEM -out key.der -outform DER
openssl x509 -in fullchain.pem -inform PEM -out cert.der -outform DER

然后用预先编译好的ImportKey.class 文件执行下面的话:

ImportKey.class文件下载地址:
http://download.youkuaiyun.com/detail/lovejj1994/9692456

java ImportKey key.der cert.der

结果会出现以下信息,记住Alias 和 Password,后面有用

Using keystore-file : /root/keystore.ImportKey
One certificate, no chain.
Key and certificate stored.
Alias:importkey  Password:importkey

在账户的根目录下 会发现生成了 keystore.ImportKey 文件

改一下名字

mv keystore.ImportKey  opennms.keystore

在springboot项目中,编辑application.properties

#SSL
server.port=80
server.ssl.enabled=true
server.ssl.key-store=classpath:opennms.keystore
server.ssl.key-store-password=importkey
server.ssl.key-alias=importkey

把刚刚的 文件引入,还有password和alias,启动项目,ssl配置成功!

转载于:https://www.cnblogs.com/lovejj1994/p/7182166.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值