0

在开发环境中,我们使用三个服务(注册、支付和报告)作为单个 EC2 中的每个 docker 容器。并将云端的 EC2 DNS 映射为使用移动应用程序的 https。现在我发现这三个服务使用https作为它们的内部协议。我的问题是这三个服务在内部进行通信,我想使用http 协议而不是https不继承 cloudfront,因为我在apm-server报告服务中使用这就是为什么其余两个服务apm-server由于https. 在不使用 Cloudfront 的情况下,这些都可以工作。那么,有没有办法在云端内部配置不使用 https?

4

1 回答 1

0

Cloudfront 支持三种连接源的方法,分别是“HTTP Only”、“HTTPS Only”和“Match Viewer”。这是来自云端的定义。

选择您是希望 CloudFront 仅使用 HTTP、仅 HTTPS 连接到您的源,还是通过匹配查看器使用的协议进行连接。例如,如果您为源协议策略选择匹配查看器,并且如果查看器使用 HTTPS 连接到 CloudFront,则 CloudFront 将使用 HTTPS 连接到您的源。

所以你的选择很明确。

  • 选择“仅 HTTP”,云端始终使用 http 与您的来源对话。这解决了你的问题,但不安全。因此不推荐
  • 为云端选择“仅 HTTPS”,

    • 但是您可以为您的 apm-server 设置一个额外的 http 侦听器,以便您的内部模块进行通信(如果服务器可以通过这种方式进行配置)。如果您这样做,您可以只允许来自内部应用程序的 http 流量。

    或者

    • 您可以设置一个接受 http 流量的代理应用程序,然后通过 https 将请求转发到 apm-server。
于 2019-12-23T06:44:09.407 回答