部署
Spring Boot + Nginx:从 8080 到 HTTPS
一个很常见的生产部署方式,是让 Spring Boot 只监听本机端口,例如 127.0.0.1:8080,然后由 Nginx 对外提供 80/443。
为什么不直接把 8080 暴露出去?
Nginx 更适合处理域名、TLS、静态资源、压缩、限流和反向代理;而业务应用专注处理接口和业务逻辑。职责分开以后,证书续期和域名切换也更容易。
Internet -> Nginx :443 -> 127.0.0.1:8080 -> Spring Boot
一个最小反向代理
server {
listen 80;
server_name api.example.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
应用只需要保证本机端口可用,对公网暴露的入口统一由 Nginx 管理。