Cloudfront 分发不强制网关的 TLS 设置 API
Cloudfront distribution does not enforce TLS settings for Gateway API
跟进 ,我创建了一个具有以下配置的 Cloudfront
分发
Origin Domain Name as my Gate API endpoint https://abcdfefg.execute-api.us-east-1.amazonaws.com
Viewer Protocol Policy as HTTPS Only
Origin SSL Protocols as TLSv1.2, TLSv1.1 (Unchecked TLSv1)
other defaults
分发部署后,当我使用自定义域访问我的网关 API 时,我仍然能够在 TLSv1 上进行调用。
如何将我的自定义域映射到这个新的云端分发以强制执行 TLS 设置?
更新-1:
在使用自定义域调用网关 API 的 java 测试程序中,我启用了以下运行时参数
-Dhttps.protocols=TLSv1 -Djavax.net.debug=all
javax.net.debug 的输出确认 TLSv1 交换。
*** ClientHello, TLSv1
.... many lines output
*** ServerHello, TLSv1
..
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
也使用 curl 确认了 TLS v1 的使用。
卷曲输出包括:
* SSL connection using TLSv1.0 / ECDHE-RSA-AES128-SHA
为了让网关 API 和额外的云前端分发工作,我们需要
- 从 AWS 控制台,在 API 网关下转到 自定义域名 并删除映射的条目。
- 在云端设置中添加 CNAME 条目。在 AWS 控制台中,按照 添加备用域名
下的说明进行操作
完成上述更改后,访问 https 上的自定义域名将强制执行 Cloudfront 分发中定义的 TLS 安全设置。
跟进 Cloudfront
分发
Origin Domain Name as my Gate API endpoint https://abcdfefg.execute-api.us-east-1.amazonaws.com Viewer Protocol Policy as HTTPS Only Origin SSL Protocols as TLSv1.2, TLSv1.1 (Unchecked TLSv1) other defaults
分发部署后,当我使用自定义域访问我的网关 API 时,我仍然能够在 TLSv1 上进行调用。
如何将我的自定义域映射到这个新的云端分发以强制执行 TLS 设置?
更新-1: 在使用自定义域调用网关 API 的 java 测试程序中,我启用了以下运行时参数
-Dhttps.protocols=TLSv1 -Djavax.net.debug=all
javax.net.debug 的输出确认 TLSv1 交换。
*** ClientHello, TLSv1 .... many lines output *** ServerHello, TLSv1 .. Cipher Suite: TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
也使用 curl 确认了 TLS v1 的使用。 卷曲输出包括:
* SSL connection using TLSv1.0 / ECDHE-RSA-AES128-SHA
为了让网关 API 和额外的云前端分发工作,我们需要
- 从 AWS 控制台,在 API 网关下转到 自定义域名 并删除映射的条目。
- 在云端设置中添加 CNAME 条目。在 AWS 控制台中,按照 添加备用域名 下的说明进行操作
完成上述更改后,访问 https 上的自定义域名将强制执行 Cloudfront 分发中定义的 TLS 安全设置。