【发布时间】:2026-01-18 08:25:01
【问题描述】:
我的 Spring Boot 项目在 https / ssl 上运行良好,在本地服务时使用 p12 证书,但在上传到 AWS Elastic Beanstalk 时失败。
以下是application.properties的配置:
security.require-ssl=true
server.use-forward-headers=true
server.port=8443
server.ssl.key-store: classpath:keystore.p12
server.ssl.key-store-password: jonathan
server.ssl.keyStoreType: PKCS12
server.ssl.keyAlias: tomcat
WebSecurityConfigurerAdapter 子类 configure(HttpSecurity http) 方法包含以下行,用于启用 HTTPS/SSL:
http.requiresChannel().antMatchers("/**").requiresSecure();
附加的是经典的负载配置器配置,在 AWS 弹性 beanstalk 控制台内:
这是在 AWS Certificate Manager 下使用 Grasshapper.net 域颁发的 SSL 证书:
我还有 .ebextensions 下的设置,带有路径的文件是 src/main/resources/.ebextensions/.config(甚至不确定是否需要):
option_settings:
aws:elb:listener:8443:
SSLCertificateId: [keeping private]
ListenerProtocol: HTTPS
InstancePort: 80
InstanceProtocol: HTTP
aws:elb:listener:80:
ListenerEnabled: false
注意 (SSLCertifcateId):ID 取自 ARN,我的 AWS 证书管理器 SSL 证书(如果展开 SSL 证书,您将看到 ARN)。
【问题讨论】:
标签: spring amazon-web-services spring-boot amazon-elb amazon-elastic-beanstalk