【发布时间】:2021-04-02 03:04:07
【问题描述】:
从 ALB 链接访问 80 或 443 端口时出现错误 522 或 521(443 浏览器显示警告,即因为 ALB 和 SSL 域不同)
AWS 配置。
- 创建了具有 1 个公有子网和 1 个私有子网的自定义 VPC
- 已创建 AutoScaling 组
- 已创建负载均衡器(用于 http 和 https 的两个侦听器用于跟踪组)和目标组(两个目标指向端口 80 上的 Ec2 实例和用于健康检查的 443)-> 运行状况检查正在通过。
- 在私有子网中启动了 Ec2 实例(无公共 IP),实例只能由应用负载均衡器安全组访问。
Ec2 和 Apache2 配置。
-
在 apache2 中启用 SSL
-
实例打开443端口,ALB的安全组,访问80(http)和443(https)端口
从 CloudFlare 生成的 SSL 证书
-
SSL/TLS -> 源服务器 -> 生成的 RSA 证书
-
将 SSL 证书导入 AWS ACM
-
将 ACM SSL 证书附加到负载均衡器 HTTPS 侦听器
-
还创建 AWS ACM SSL 证书并通过 DNS 验证以进行测试尝试了两个 ssl 证书 - 没有工作
子域和 ALB 链接
-
在 CloudFlare 中创建 DNS CNAME 条目
-
添加了指向 ALB 链接的子域。 (仅尝试使用代理和 DNS)
-
您的 SSL/TLS 加密模式是完整的
-
始终使用 HTTPS:开启
当在普通窗口(浏览器)中点击子域时,它会得到 522 并在隐身模式下第一次工作,但之后就不行了。
当向https://subdomain.domain.com 发出 curl 请求时,总是有效
在公共子网中创建了精确的重复实例,并与另一个子域(在 cloudflare 中创建)链接,只是为了测试 -> 正常工作。
还尝试通过为端口 443 (HTTPS) 添加单独的目标组 -> 在此 traget 组健康检查中失败,而在端口 80 (http) 的其他目标组中同样工作
我不知道如何解决这个问题,请帮助! 谢谢你。 请帮忙!
【问题讨论】:
-
根据their documentation CloudFlare 无法访问您的网络服务器,您能否检查 ALB 安全组并确保其 IP-Ranges 在允许列表中?
-
@Maurice ALG 安全组的 80 和 443 端口对 IPv4 和 IPv6 开放。
标签: amazon-web-services amazon-ec2 apache2 cloudflare aws-application-load-balancer