1

尽管使用 AWS 设置 HTTPS,但我一直在努力。我一直在尝试使用自签名证书进行此操作,但发现该过程有点问题。

一路上出现的一个问题是服务器端 HTTPS 的业务。我正在使用的客户端请求当用户点击服务器时 URL 更改为 HTTPS。我想知道“服务器端 HTTPS”是否意味着该协议对最终用户是透明的?他们还会在浏览器中看到 HTTP 吗?

谢谢。

4

1 回答 1

2

不知道这是否是您问题的确切答案,但也许是一条建议。使用 ELB 时,我发现在 ELB 上安装 SSL 证书并使用 SSL 卸载将请求从 ELB 上的端口 443 转发到 EC2 实例上的端口 80 会容易得多。

这样做的好处:

  • 您只需在一个地方安装证书,而不必跨多个实例安装(或更新 AMI 并重新启动实例),从而使证书更新更容易执行。
  • 您可以在 Web 服务器上获得更好的性能,因为它们不必处理 SSL 加密。

一些缺点:

  • 通信不是端到端加密的,因此在 ELB 和服务器之间存在通信可能被拦截的技术(尽管不太可能)机会。如果您正在处理诸如 PCI 合规性之类的问题,这可能对您很重要。
  • 如果您需要通过 HTTPS 直接访问其中一个实例,这是不可能的。
  • 如果您的应用程序需要检查请求是否通过 HTTPS ,您可能需要确保您的应用程序知道x-forwarded-protoELB 注入请求中的与 https 相关的标头(即 )。

此配置没有理由禁止您将通过 HTTP 的传入请求重定向到 HTTPS。但是,您可能需要查看x-forwarded-proto标头才能将任何 Web 服务器或应用程序级别重定向到 HTTPS。最终用户将无法知道他们的请求的 HTTPS 包装器正在 ELB 上卸载。

于 2012-10-12T22:51:09.100 回答