【问题标题】:AWS loadbalancer and ssl certificate for my website我的网站的 AWS 负载均衡器和 ssl 证书
【发布时间】:2013-11-30 01:36:44
【问题描述】:

我在 AWS 负载均衡器后面的 2 个 EC2 实例上使用 Apache 在 AWS 上设置了一个网站。负载均衡器有一个 ssl 证书(成功流过this manual) Godaddy 有一个指向负载均衡器 IP 的网站的 A 记录(不能使用 DNS 名称)

在我安装了本地 ssl 证书的单个实例之前,它运行良好。

我的问题是: 1. 当我使用 http:// 访问我的新网站时,它显示正确,但在地址栏中我没有看到任何 ssl 证书。 (我还需要使用本地 .htaccess 进行 ssl 重定向吗?如果是,我需要使用生成负载均衡器 ssl 的密钥吗?)

  1. 当我使用 httpS:// 访问我的网站时,地址栏中会显示带有正确数据的证书,但该网站看起来像一长串图片和文字。

负载平衡器侦听器配置为: HTTP 80 > HTTP 80 HTTPS 443 > HTTP 80(使用我的证书)

感谢您的帮助, 亚历克斯。

【问题讨论】:

    标签: ssl amazon-web-services listener load-balancing


    【解决方案1】:

    你有两个问题。

    如果您想进行从非 ssl 到 ssl 的重定向,您需要检测流量来自非 ssl 端口。

    通常,您可以通过检测用户进入哪个端口并将发送的所有内容重定向到端口 80 来执行此操作。如果您将 443 侦听器流量移动到 80 以外的端口,您仍然可以这样做。

    另一种选择是根据X-Forwarded-Proto 标头的值进行重定向。

    对于您的其他问题,您可能会请求一些资产,例如 css 文件,而不是通过 SSL。浏览器将阻止此类活动。

    【讨论】:

      【解决方案2】:

      为了补充答案,如果您在 DNS A 记录中使用弹性负载均衡器 IP,您将遇到另一个问题。首先是 AWS 给你一个 DNS 名称,而不是单个 IP,所以他们可能会随意更改底层 IP。因此,如果发生这种情况,您最终会得到一个指向错误 IP 的 DNS 记录。

      另一件事是弹性负载均衡器为同一个 DNS 名称使用多个 IP,以便将流量引导到不同可用区中的实例(您可以通过解析部署在多个 AZ 中的弹性负载均衡器的 DNS 名称来检查这一点) .因此,通过为您的 DNS A 记录选择单个 IP,您限制了该负载均衡器的潜在功能,因为它只会将流量定向到单个可用区。

      要解决这些问题,您必须使用指向完整负载平衡器 DNS 名称的 DNS CNAME 记录。或者,如果您想将根域指向负载均衡器,您可能必须使用 AWS 托管 DNS 服务 Route53。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-31
        • 2021-07-16
        • 2014-06-08
        相关资源
        最近更新 更多