如何在AWS Elastic Beanstalk单实例环境为Spring Boot应用配置SSL
Nginx代理不生效(默认欢迎页)修复方案
- 确认
.platform/nginx/conf.d/路径下的配置文件权限为644,所属文件夹权限为755,权限异常时Nginx会自动跳过自定义配置,加载默认配置。 - 检查代理规则中
proxy_pass指向的端口是否和Spring Boot启动端口一致,Elastic Beanstalk Java平台默认Spring Boot启动端口为5000,需对应配置为http://127.0.0.1:5000。 - 登录EC2实例执行
sudo nginx -t命令检查Nginx配置语法,如有报错可直接定位问题。 - 确认未同时使用
.ebextensions目录配置Nginx规则,新旧配置规则冲突会导致自定义配置不生效。
HTTPS连接被拒绝修复方案
- 核对Elastic Beanstalk实例关联的安全组入站规则,确认已开放443端口的访问权限。
- 检查Nginx配置中SSL证书、私钥的本地路径是否和实例上文件存储路径完全一致,路径错误会导致Nginx无法加载HTTPS配置。
- 登录EC2实例执行
sudo netstat -tulpn | grep nginx命令,确认Nginx已正常监听443端口,无监听则说明HTTPS配置存在问题未加载。 - 若使用AWS证书管理器(ACM)签发的证书,注意此类证书仅可用于负载均衡、CloudFront等AWS托管服务,无法直接配置在EC2实例的Nginx中,单实例无负载均衡环境需自行上传证书和私钥到实例使用。
- 若为带负载均衡的Elastic Beanstalk环境,建议直接将HTTPS配置在负载均衡层,负载均衡到实例的转发走HTTP协议即可,无需在实例侧Nginx配置HTTPS,可规避证书配置类问题。
内容的提问来源于stack exchange,提问作者Paras
相关产品推荐
相关产品推荐

