网站首页 > 技术文章 正文
在CentOS环境中使用Nginx和Spring Boot,同时配置Free SSL免费HTTPS证书并实现3个月自动续期,可以按照以下步骤进行:
申请 FreeSSL.cn 证书步骤如下 :
输入要申请的域名为范域名
配置验证方式为CNAME方式
DCV配置及验证
验证通过,选择安装脚本
在服务器执行脚本,生成证书文件
以下为服务器的部署安装说明
1. 安装Nginx:
sudo yum install nginx
2. 安装Java(如果未安装):
sudo yum install java
3. 部署Spring Boot应用:
确保你的Spring Boot应用已经打包成JAR文件,然后通过以下命令运行:
java -jar your-spring-boot-app.jar
4. 安装acme.sh:
curl https://get.acme.sh | sh -s email=my@example.com
5. 配置Nginx 80端口转向:
编辑Nginx配置文件,通常位于 /etc/nginx/nginx.conf 添加类似以下的配置:
server {
listen 80;
server_name ai-ziyuan.techwisdom.cn;
location / {
return 301 https://$host$request_uri;
}
}
域名配置了端口 80自动转向功能,用户输入
http://ai-ziyuan.techwisdom.cn 会自动转向
https://ai-ziyuan.techwisdom.cn
6. 获取SSL证书:
运行Certbot命令获取SSL证书:
acme.sh --issue -d *.techwisdom.cn --dns dns_dp --server https://acme.freessl.cn/v2/DV90/directory/xxxxxx
按照提示完成证书申请过程。
7. 配置SSL证书到Nginx:
继续编辑Nginx配置文件,添加SSL配置:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
#include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
client_max_body_size 100M;
server {
listen 443 ssl;
server_name ai-ziyuan.techwisdom.cn;
access_log /var/log/nginx/ai-ziyuan.techwisdom.cn.access.log;
error_log /var/log/nginx/ai-ziyuan.techwisdom.cn.error.log;
ssl_certificate /home/server/ssl/*.techwisdom.cn_ecc/*.techwisdom.cn.cer;
ssl_certificate_key /home/server/ssl/*.techwisdom.cn_ecc/*.techwisdom.cn.key;
ssl_session_cache shared:SSL:30m;
ssl_session_timeout 60m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root html;
index index.html index.htm;
## https://github.com/gitlabhq/gitlabhq/issues/694
## Some requests take more than 30 seconds.
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8000;
}
}
}
8. 设置证书自动续期:
acme.sh已经默认会创建一个 cron job 来自动 renew 证书。你无需手动操作。
9. 重启Nginx:
sudo systemctl restart nginx
现在,你的Nginx将通过SSL连接到Spring Boot应用,并使用 FreeSSL.cn 免费SSL证书,而且证书将会在3个月后自动续期。确保定期检查Nginx和Certbot的日志以确保一切正常。
猜你喜欢
- 2025-09-24 实战录 | 今天聊聊Nginx反向代理使用
- 2025-09-24 windows下配置代理访问https网站_windows 配置代理
- 2025-09-24 Openresty Tracing 最佳实践_opentracing zipkin
- 2025-09-24 nginx常用命令及简单配置_nginx用法
- 2025-09-24 性能测试之tomcat+nginx负载均衡_nginx负载均衡 性能
- 2025-09-24 Nginx 笔记_nginx详细教程
- 2025-09-24 业务前端界面报错504排查思路和解决办法
- 2025-09-24 AWS Linux 2023搭建WordPress 安装指南(二)
- 2025-09-24 关于Nginx性能优化的10个小技巧,学到即赚到!
- 2025-09-24 如何在Ubuntu 20.04上部署Odoo 14
- 最近发表
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)