带 ssl 和自定义健康检查 url(在不同端口上)的 Elastic Beanstalk 不工作
Elasticbeanstalk with ssl and custom healh check url (on a different port) not working
我昨天使用弹性 beantalk 并成功添加了一个 letsencrypt https 证书。但是现在,我的自定义健康检查将我的系统状态设置为红色。
如果我删除 ssl 配置(所有带有命名空间“"namespace:aws:elb:listener:443"”的属性)。健康检查它正在工作。
这不是端口问题,我允许 public 暂时访问该端口。
我忘记了什么?
谢谢
马塞尔
我的 ebextension 配置是这样的:
Resources:
healthPort:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 7979
FromPort: 7979
SourceSecurityGroupName: { "Fn::GetAtt": ["AWSEBLoadBalancer", "SourceSecurityGroup.GroupName"] }
option_settings:
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: HTTP:7979/health
option_settings:
- namespace: aws:elb:listener:80
option_name: ListenerEnabled
value: true
- namespace: aws:elb:listener:80
option_name: ListenerProtocol
value: HTTP
- namespace: aws:elb:listener:80
option_name: InstancePort
value: 80
- namespace: aws:elb:listener:80
option_name: InstanceProtocol
value: HTTP
- namespace: aws:elb:listener:443
option_name: ListenerEnabled
value: true
- namespace: aws:elb:listener:443
option_name: ListenerProtocol
value: HTTPS
- namespace: aws:elb:listener:443
option_name: InstancePort
value: 80
- namespace: aws:elb:listener:443
option_name: InstanceProtocol
value: HTTP
- namespace: aws:elb:listener:443
option_name: SSLCertificateId
value: xxx
问题是 ELB 没有权限连接到 7979 端口。我不知道为什么它会发生,如果我启用 ssl 但现在它可以工作了。
我昨天使用弹性 beantalk 并成功添加了一个 letsencrypt https 证书。但是现在,我的自定义健康检查将我的系统状态设置为红色。
如果我删除 ssl 配置(所有带有命名空间“"namespace:aws:elb:listener:443"”的属性)。健康检查它正在工作。
这不是端口问题,我允许 public 暂时访问该端口。
我忘记了什么?
谢谢 马塞尔
我的 ebextension 配置是这样的:
Resources:
healthPort:
Type: AWS::EC2::SecurityGroupIngress
Properties:
GroupId: {"Fn::GetAtt" : ["AWSEBSecurityGroup", "GroupId"]}
IpProtocol: tcp
ToPort: 7979
FromPort: 7979
SourceSecurityGroupName: { "Fn::GetAtt": ["AWSEBLoadBalancer", "SourceSecurityGroup.GroupName"] }
option_settings:
- namespace: aws:elasticbeanstalk:application
option_name: Application Healthcheck URL
value: HTTP:7979/health
option_settings:
- namespace: aws:elb:listener:80
option_name: ListenerEnabled
value: true
- namespace: aws:elb:listener:80
option_name: ListenerProtocol
value: HTTP
- namespace: aws:elb:listener:80
option_name: InstancePort
value: 80
- namespace: aws:elb:listener:80
option_name: InstanceProtocol
value: HTTP
- namespace: aws:elb:listener:443
option_name: ListenerEnabled
value: true
- namespace: aws:elb:listener:443
option_name: ListenerProtocol
value: HTTPS
- namespace: aws:elb:listener:443
option_name: InstancePort
value: 80
- namespace: aws:elb:listener:443
option_name: InstanceProtocol
value: HTTP
- namespace: aws:elb:listener:443
option_name: SSLCertificateId
value: xxx
问题是 ELB 没有权限连接到 7979 端口。我不知道为什么它会发生,如果我启用 ssl 但现在它可以工作了。