我该选哪个?为什么?Firebase推荐CNAME记录,但为什么?是不是更好地指向IP地址而不是指向另一个指向IP地址的域?
我想列出某个托管区域中的所有CNAME记录。假设我的托管区域中有400多个记录。我正在使用boto3
:
response_per_zone = client.list_resource_record_sets(HostedZoneId=Id, MaxItems='100')
Run Code Online (Sandbox Code Playgroud)
该命令列出了所有类型的100条记录。缺少许多CNAME记录。
如何遍历所有记录,以便可以列出所有CNAME记录?
每次我们对后端进行更改,需要更改客户端 DNS 设置时,我们都必须通过电子邮件、电话、电子邮件提醒等漫长的过程,以便让每个人都实施必要的更改。
为了一劳永逸地简化这一点,我完成了以下操作:我为 dns.ourdomain.com 设置了一个带有 Cloud DNS 区域的 Google Cloud 项目
通过这种方式,我可以指导我们的客户设置:
www.client.com CNAME client.dns.ourdomain.com
Run Code Online (Sandbox Code Playgroud)
在 Cloud DNS 控制台中,我们添加:
client.dns.ourdomain.com CNAME client.backendserver.com
Run Code Online (Sandbox Code Playgroud)
现在,将来如果我们需要进行更改,我们可以在一次批量操作中完成所有操作,而无需涉及客户。
我已经测试了这个设置并且它工作得很好,但似乎有一个共识认为这是不好的做法。如果有,潜在的陷阱是什么?
我正在尝试按照https://cloud.google.com/storage/docs/hosting-static-website上的说明从Google Bucket托管静态网站.我创建了CNAME别名,将内容上传到名称与网站(www.kurtpeek.com)相同的存储桶,并选中"公开共享"所有项目.但是,当我浏览网站时,我看到以下内容:
我已经在http://tekhoow.blogspot.be/2015/12/soving-accessdenied-on-google-cloud.html上阅读了这个问题,可以使用gsutil从命令行解决.但是,我之前使用基于Web的控制台为不同的网站做过,我只是不记得如何.
我怀疑它应该在"IAM"菜单中的某个地方,但我似乎无法找到类似于命令的"读取公共"选项.
任何人都可以指出"缺少成分"使网站运作?
我已经检查了所有与此相关的现有问题和答案,但是使用 GoDaddy DNS 的更新 ui 实现旧答案非常令人困惑。
到目前为止,我所做的是使用以下命令将域添加到我的应用程序中:
heroku domains:add xyz.com --app xyz
.
但我不确定在创建 CNAME 记录时我到底需要输入什么。我曾尝试根据不同的答案创建不同的 CNAME 记录,但没有奏效。
是否有一本关于 DNS 或类似的书,我可以阅读以了解此类问题并修复它?我给 GoDaddy 打过电话,但支持人员不太关心帮助我。
我已从 AWS CloudFront 中删除了一个分配,并尝试使用在已删除的分配中使用的 CNAME 创建新的分配。我现在得到了Status Code: 409; Error Code: CNAMEAlreadyExists;
。我很困惑,因为我刚刚删除了该发行版,并且我的 CloudFront 中没有任何其他发行版。我想知道我应该如何使用旧的 CNAME 再次创建发行版。
我正在寻找一种方法(在Go中),以获取给定主机的CNAME(如果有),无论该主机的DNS解析是否失败。
主机的DNS解析可能会失败并产生结果NXDOMAIN
,但有问题的主机可能仍具有CNAME记录。在撰写此问题时,tst1crmapps.starbucks.com
是这样一个主机的示例:
$ dig tst1crmapps.starbucks.com | grep -E 'NXDOMAIN|CNAME'
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 50444
tst1crmapps.starbucks.com. 86400 IN CNAME bigip-tst1crmapps-starbucks.oracle.com.
Run Code Online (Sandbox Code Playgroud)
(在macOS上运行)
功能net.LookupCNAME
似乎就在我的小巷,但是如果主机的DNS解析失败,它将无法返回CNAME。跑步
package main
import (
"log"
"net"
)
func main() {
cname, err := net.LookupCNAME("tst1crmapps.starbucks.com")
if err != nil {
log.Fatal(err)
}
log.Println(cname)
}
Run Code Online (Sandbox Code Playgroud)
产量
yyyy/MM/dd hh:mm:ss lookup tst1crmapps.starbucks.com: no such host
Run Code Online (Sandbox Code Playgroud)
我误会了net.LookupCNAME
吗?还是我使用了错误的功能?
我一直在尝试将www.mydomain.net
别名添加到中mydomain.net
。我已经有一个MX记录以及由Google自动添加的NS和SOA记录。
我收到cnameResourceRecordSetConflict错误:
错误代码“ cnameResourceRecordSetConConflict”:资源记录集“ entity.change.additions [0]”无效,因为DNS名称为“ mydomain.net”。可以具有一个CNAME资源记录集或其他类型的资源记录集,但不能同时具有两者。
我了解该错误给我的建议,但是那又如何保存其他记录?我的域上都需要MX和CNAME。
我需要帮助在我自己的域上设置gitlab页面.所以我在gitlab.com上托管我的git,当我想要页面的自定义域名时,我需要在我的root上输入CNAME记录(使用DNS编辑器).问题是我有用于在zoho服务器上托管电子邮件的MX记录.所以在设置我的cname记录导致gitlab之后我的所有电子邮件都停止了...有没有其他方法来连接我的域名但没有cname记录?我读到在root上设置CNAME对于MX记录来说是个坏主意,但我找不到任何其他方法来在gitlab页面上解析我的域.
我有一个mysite.com
通过Netlify托管的静态站点()。Netlify当前管理我的DNS,因此我拥有这样的名称服务器:
dns1.p07.nsone.net
dns2.p07.nsone.net
dns3.p07.nsone.net
dns4.p07.nsone.net
我的S3上有一个名为的存储桶dl.mysite.com
。我想拥有它,以便当有人单击诸如的链接时http://dl.mysite.com/file.pdf
,它会从S3存储桶中获取它。
在Netlify的管理仪表板中,我可以创建一个自定义子域(dl.mysite.com
),它指示我执行以下操作:
将
dl
CNAME记录指向,以obfuscated-url-d6f26e.netlify.com
登录到您在DNS提供商处拥有的帐户,并添加一个CNAME记录以dl
指向obfuscated-url-d6f26e.netlify.com
。
过去,当我仅使用AWS托管应用程序和管理DNS时,只需在Route53中为子域创建Alias记录并将其指向我的存储桶即可轻松实现。
既然Route53无法处理我的DNS,我该怎么做?还有可能将该子域指向特定的S3存储桶吗?