Sil*_*ils 37 dns amazon-web-services amazon-cloudfront aws-api-gateway
我正在尝试在Cloudflare上设置CNAME以指向Amazon API Gateway端点.CNAME用于引用我的某个子域名时使用.网关反过来指向DigitalOcean上的服务器的IP.我是亚马逊网络服务的新手,如果有人能够概述DNS,亚马逊网关和Cloudfront的正确配置(我认为需要将网关暴露给亚马逊外部的DNS服务器),我将不胜感激.任何帮助将非常感激.
UPDATE
我已经在这方面做了一段时间而没有取得多大进展.有没有人知道这是否是一种可行的方法或者如何做到这一点?
UPDATE2
我以为我需要将CNAME记录添加到cloudFlare并且刚刚进入重定向循环,观察到:
curl -L -i -v https://sub.mydomain.com/
Run Code Online (Sandbox Code Playgroud)
Bon*_*Oak 38
有几个原因可以解释为什么只需将Cloudflare指向您的API网关域并将其称为一天:
api.yourdomain.com属于您的API.https,但它使用的证书仅对默认域有效.但是,有一个解决方案.以下是我最近设置时所遵循的步骤:
us-east-1区域中的AWS Certificate Manager ,即使您的API位于其他区域也是如此.如果系统提示您输入证书链,可以从此处复制.而已.享受您的自定义域提供的全新高可用性API!
Tyl*_*rty 22
使用CloudFlare设置Amazon的API网关自定义域
在AWS管理控制台中,转到API网关服务,然后Custom Domain Names从左侧菜单中进行选择.
单击Create按钮.
登录CloudFlare,选择您的域并打开Crypto选项卡
转到SSL并将SSL模式设置为"Full(Strict)"以避免重定向循环.
转到Origin Certificates并单击Create Certificate
让CloudFlare生成私钥和CSR,并选择RSA作为私钥类型
确保涵盖自定义API域的主机名.(例如api.mydomain.com,您可以专门配置此自定义域或使用默认配置的通配符,例如*.mydomain.com.
选择PEM默认选择的密钥格式.
在AWS切换到区域US-EAST-1并转到Certificate Manager.
点击Import a Certificate.
将证书正文从CloudFlare证书复制到证书正文,并复制到AWS管理控制台中自定义域的配置.
将私钥复制到控制台中的证书私钥字段
在证书链中复制Cloudflare Origin CA - RSA Root,可在此处找到.
在AWS控制台中输入您的自定义域名以及证书的名称
现在,将在AWS CloudFront中创建自定义域名.域名变为活动状态可能需要一个小时.
您需要做的下一件事是在AWS控制台中设置自定义域的映射.
最后一步是CNAME Record在CloudFlare中创建一个新的链接,将您的域链接到CloudFront网址.在AWS控制台中打开自定义域的设置页面时,请复制分发域名.这是您在创建新域时需要使用的域CNAME Record.
我无法得到任何其他工作答案。因此,我最终让 AWS 生成证书,而不是使用 Cloudflare Origin 证书。这是因为即使提供了链,AWS 也不会接受我的 Cloudflare 证书。我在 Mozilla 的证书颁发机构列表中看不到 Cloudflare (根据文档,这是 AWS 所依赖的),所以我认为这是有道理的。
这是我的解决方案的概要:
大概就是这样了。愿这对某人有帮助。随意问的问题。
| 归档时间: |
|
| 查看次数: |
10343 次 |
| 最近记录: |