【问题标题】:AWS service to proxy (NOT REDIRECT) HTTP to HTTPS?AWS 服务到代理(非重定向)HTTP 到 HTTPS?
【发布时间】:2019-12-13 02:05:08
【问题描述】:

是否有任何 aws 产品允许将 HTTP 代理到 HTTPS,而无需启动 EC2 实例并设置 nginx 或其他任何东西?

尝试过 API Gateway,但似乎只允许 HTTPS

尝试将 cloudfront 放在 API 网关前面,但它所做的只是重定向请求。

不确定是否有任何方法可以满足我的需求?由于遗留原因(无法更改,所以不要费心建议),我需要一种方法来公开 HTTP 端点并通过 HTTPS 在内部将其代理到我的主机。

我希望有一项服务可以用来避免管理和维护另一个实例。

干杯!

【问题讨论】:

    标签: amazon-web-services http https proxy


    【解决方案1】:

    您不能将 HTTP 代理到 HTTPS,这将不起作用。您必须重定向。您提到无需设置 nginx 或其他任何东西。 Nginx 只会将您的 HTTP 请求重定向到 HTTPS。与 Cloudfront 一样。您可以使用 Cloudfront 将 HTTP 重定向到 HTTPS,而无需使用 API 网关。

    再次阅读您的问题,您的应用程序仅侦听 443?如果是这种情况,请使用 Cloudfront 或在运行应用程序的 EC2 主机上粘贴 docker 容器(nginx)。

    【讨论】:

    • 很确定你可以用 nginx 和 proxy_pass 做到这一点,我以前做过。我的应用程序同时监听 80 和 443,但它将所有请求重定向到 https/443。但是,请求来自仅支持 HTTP 的资源,因此无法遵循重定向,因为不支持加密等。到目前为止,我已经设法使用 nodejs 对 cloudfront 和 lambda 做了一些事情,但是我必须手动填充对异步调用的请求并填充响应,是否有任何应用程序已经这样做了?还是更好的解决方案?
    • 您所做的问题是 SSL 的证书与域名相关联。如果您正在代理标头,则需要保持不变,而不是转发到 localhost 或 127.0.0.1。这就是我所指的。如果 Nginx 正在做代理传递,你必须定义上游代理,理论上你可以做一个通配符 SSL 并监听 a.example.com 和 b.example.com 的代理。
    猜你喜欢
    • 2016-09-30
    • 1970-01-01
    • 2018-03-08
    • 2015-04-01
    • 1970-01-01
    • 2017-05-21
    • 2013-07-01
    • 2016-10-30
    • 1970-01-01
    相关资源
    最近更新 更多