Nginx/Tomcat/SpringBoot配置自生成SSL证书
要在Nginx/Tomcat/SpringBoot中配置自动生成的SSL证书,你可以使用Let's Encrypt提供的免费证书。以下是配置步骤和示例:
- 在SpringBoot中,你可以使用
spring-boot-starter-web
依赖,它会自动配置一个嵌入式Tomcat服务器。 - 在Nginx中,你需要配置一个反向代理来转发HTTPS流量到SpringBoot应用程序的嵌入式Tomcat服务器。
- 使用Certbot工具自动生成SSL证书,并配置Nginx使用这些证书。
以下是示例配置:
SpringBoot application.properties:
server.port=8080
Nginx 配置 (/etc/nginx/sites-available/your\_domain):
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Port $server_port;
}
}
server {
listen 80;
server_name your_domain.com;
return 301 https://$server_name$request_uri;
}
使用Certbot生成SSL证书:
sudo certbot certonly --standalone -d your_domain.com -d www.your_domain.com
自动更新证书:
sudo certbot renew --dry-run
重新加载Nginx配置:
sudo nginx -t
sudo systemctl reload nginx
以上步骤会在你的服务器上设置一个自动生成SSL证书的配置,并且确保Nginx使用这些证书来提供安全的HTTPS连接。
评论已关闭