在 Google Cloud Platform 存储桶上托管静态网站时的 DNS

2023-12-11

抱歉,如果我的问题看起来很混乱,我对 DNS 或托管只有一个基本的了解。 故事是这样的:

我创建了几个个人网页并注册了一个域名。然后我发现我的几个页面不需要“大”托管,最好在云中托管一个网站,我选择了 GCP 进行托管,发现this教程并遵循以成功实现我托管静态网站的目标。

然后我想在社交媒体上分享我的网站的链接,发现当网站运行正常时,我添加到网站的开放图谱协议元信息没有显示。奇怪的是,我想并开始寻找。我发现Facebook 调试器工具并用它来检查我的网站只看到"Could not resolve the hostname into a valid IP address."回复。

我搜索了有关该问题的更多信息并找到了StackOverflow问题,其中谈到了有关域、托管和 DNS 的内容。基本上,我发现我的域名注册商面板中的 DNS 服务器是为注册商的托管配置的,而我使用 GCP 进行托管。我需要这些 DNS 服务器来匹配 OGP 元信息才能正常工作。

任何我不喜欢的研究都会引导我转向 GCP DNS。但我不确定配置 GCP DNS(这不是我用于托管静态网站的 GCP 存储桶存储)是一个好主意还是解决我的问题的正确方法。

我是否需要配置 GCP DNS、创建虚拟机并在那里托管我的网站?或者我是否需要在域名注册商的控制面板中指定一些特殊的 GCP DNS 服务器?或者我需要做别的事情吗?

请为我指明正确的方向。我不仅需要我的网站作为超链接在互联网上提供,我还希望在社交媒体中共享链接时 OGP 元数据可用且可见。我不介意我的网站是否托管在 GCP DNS 的存储桶或虚拟机上,我只是想了解我应该往哪个方向挖掘。

Details:我的域名是http://www.vladimir-markiev.name/。我完全按照 GCP 教程中的描述进行操作文档:启用计费、验证域所有权、在域注册商的 DNS 处将 CNAME 记录配置为 www. vladimir-markiev.name(这个 www. 一开始让我有点恼火,也许我稍后会尝试处理它)。我成功访问了我的存储桶"public and can be accessed by anyone on the internet"。 我可以将自己的 DNS 服务器列表添加到我的域 - 注册商允许这样做。

Update:不知何故,我的域中缺少 CNAME 记录。我将其配置为指向 GCP。检查成功.

我还进行了 DNS 检查,发现了一些问题:

enter image description here CNAME www → c.storage.googleapis.com.

但问题仍然存在。

如果有任何其他问题请询问我,我试图提供尽可能多的信息,但可能会遗漏一些内容


当我第一次检查您域的 DNS 记录时,我发现您配置错误CNAME记录:

$ dig CNAME www.vladimir-markiev.name

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> CNAME www.vladimir-markiev.name
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 60848
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;www.vladimir-markiev.name.     IN      CNAME

;; AUTHORITY SECTION:
vladimir-markiev.name.  600     IN      SOA     ns1.reg.ru. hostmaster.ns1.reg.ru. 1588872137 14400 3600 604800 10800

;; Query time: 105 msec
;; SERVER: 100.115.92.193#53(100.115.92.193)
;; WHEN: Fri May 08 14:44:35 CEST 2020
;; MSG SIZE  rcvd: 111

解决您的问题您应该返回域名注册商一侧并修复 DNS 区域配置。

正如我在屏幕截图中看到的MX工具箱 您已完成所有必要的更改,我可以访问该网站。看看下面的一些检查:

CNAME记录配置正确:

$ dig CNAME www.vladimir-markiev.name

; <<>> DiG 9.11.5-P4-5.1-Debian <<>> CNAME www.vladimir-markiev.name
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12444
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.vladimir-markiev.name.     IN      CNAME

;; ANSWER SECTION:
www.vladimir-markiev.name. 85906 IN     CNAME   c.storage.googleapis.com.

;; Query time: 18 msec
;; SERVER: 100.115.92.193#53(100.115.92.193)
;; WHEN: Fri May 08 15:42:51 CEST 2020
;; MSG SIZE  rcvd: 92

$ host www.vladimir-markiev.name
www.vladimir-markiev.name is an alias for c.storage.googleapis.com.
c.storage.googleapis.com has address 216.58.215.80
c.storage.googleapis.com has IPv6 address 2a00:1450:401b:806::2010

您的网站可以通过浏览器访问并且curl:

$ curl -I  www.vladimir-markiev.name 
HTTP/1.1 200 OK
X-GUploader-UploadID: AAANsUnbpBaaL4YoepXEs5QRGjeVIkR94Eywdtot02oL3xOPcPRYP6KyPUmf5q_b140hLBhutYQsYbuCglL8nvU2oQ
Expires: Fri, 08 May 2020 14:34:23 GMT
Date: Fri, 08 May 2020 13:34:23 GMT
Last-Modified: Fri, 08 May 2020 12:14:02 GMT
ETag: "53d6f21bb90302f77b655904dd5f4e4d"
x-goog-generation: 1588940042495901
x-goog-metageneration: 1
x-goog-stored-content-encoding: identity
x-goog-stored-content-length: 19830
Content-Type: text/html
x-goog-hash: crc32c=ziXBHQ==
x-goog-hash: md5=U9byG7kDAvd7ZVkE3V9OTQ==
x-goog-storage-class: STANDARD
Accept-Ranges: bytes
Content-Length: 19830
Server: UploadServer
Cache-Control: public, max-age=3600
Age: 958 

$ curl  www.vladimir-markiev.name | head 
...
<!DOCTYPE html>
<html lang="ru">

<head prefix="og: http://ogp.me/ns#">
    <meta charset="utf-8">
    <meta http-equiv="content-type" content="text/html">
    <title>Главная страница - Владимир Маркиев</title>
    <link rel="stylesheet" href="style.css">
    <meta name="robots" content="follow, index" />
    <meta name="description" content="Владимир Маркиев, Vladimir Markiev: Технический писатель в Санкт-Петербурге сайт-визитка." />
 67 19830   67 13395    0     0  12.7M      0 --:--:-- --:--:-- --:--:-- 12.7M
curl: (23) Failed writing body (429 != 5632)

如果您仍然无法在浏览器中打开您的网站,您应该等待一段时间,因为DNS 传播时间(更改通常需要 24 至 48 小时)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Google Cloud Platform 存储桶上托管静态网站时的 DNS 的相关文章

随机推荐

  • PHP将抄送插入邮件功能[重复]

    这个问题在这里已经有答案了 可能的重复 PHP 邮件 抄送字段 我正在使用以下 php 发送电子邮件 我需要将抄送添加到我的电子邮件中 当我尝试插入标头时 html 消息显示原始 html 处理抄送的最佳方式是什么 Thanks heade
  • TS(2352) 声明具有动态属性的对象和一个具有特定类型的属性

    我需要创建一个对象 该对象将包含一个名为 state 的属性 该属性将具有通用类型 所有其他属性将是具有覆盖上下文的函数 我不确定这是否可能 因此我决定写在这里 我有一个代码 declare interface ContextModule
  • MySQL 连接运算符

    我不知道 MySQL 的连接运算符 我已经尝试过这段代码用于串联 SELECT vend name vend country FROM Vendors ORDER BY vend name 但这没有用 我应该使用哪个运算符来连接字符串 是
  • golang json 和接口切片

    我在迭代包含接口切片的接口切片时遇到问题 此问题是在尝试使用返回 JSON 数据的 API 调用时出现的 返回的数据相当多 并且结构根据请求的不同而有很大差异 API 文档中也没有 JSON 响应的结构 因此我尝试实现一些处理任意 JSON
  • 如何后台加载sapui5资源

    在我们的应用程序中 我们加载了许多 SAPUI5 库 index html 有以下代码来加载 SAPUI5 资源 在我们的 web xml 中我们已经提到https sapui5 hana on
  • dotnet 不支持多重继承。但多接口支持吗? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的多重继承 dotnet 不支持多重继承 但多种接口支持 为什么会存在这种行为 有具体原因吗 您可以使用接口模拟多重继承 如果允许类的多重继承 则会导致钻石问题 由于不支持多重继承的原因 我建议
  • IF 条件 - 连接多列

    我需要统计一个术语出现的次数 不幸的是 这些术语组织得不好 因此一个术语可能会出现在多个列中 所以我不能只使用 If A1 HEALTH 1 0 因为HEALTH出现在多个列 A B C 等中 我尝试过嵌套 IF A1 HEALTH 1 I
  • 为什么 TF-IDF 的值与 IDF_ 不同?

    为什么向量化语料的值与通过向量化得到的值不一样idf 属性 不应该idf 属性只是以与语料库矢量化中出现的相同方式返回逆文档频率 IDF from sklearn feature extraction text import TfidfVe
  • 只有一个底层锁的读写锁?

    我已经使用 Python 的并发原语编写了一个读写锁 我认为 我在 SO 或其他地方读到的每个实现似乎都使用 2 个锁 一个用于读取 另一个用于写入 我的实现只包含一个用于读取的监视器 但我可能遗漏了一些重要的东西 任何人都可以确认这会起作
  • 电晕将单选按钮转换为数字文本框(lua)

    我正在尝试创建一个有关医疗保健的移动应用程序 我必须创建一个类似调查的应用程序来筛选患者 现在我已经使用单选按钮完成了调查的一部分 另一部分也看起来像这样 见下图 但我希望单选按钮更改为数字文本框 我的应用程序看起来像这样 现在我想将单选按
  • lapply 代替 for 循环进行随机假设检验 r

    我有一个看起来像这样的 df set seed 42 ID lt sample 1 30 100 rep T Trait lt sample 0 1 100 rep T Year lt sample 1992 1999 100 rep T
  • Rails table_name_prefix 未按预期工作

    我正在使用 Rails 4 我有app models admin rb and app models admin retention email rb有这样的东西 app models admin rb module Admin def s
  • 在 Javascript 中监听我的 Flash 事件

    我正在尝试使用 OVP 播放器构建一个带有播放列表的基本视频播放器 到目前为止 我已经弄清楚如何使用ExternalInterface输入新的视频源 但我不知道如何侦听Flash事件 EVENT END OF ITEM 如何在 Javasc
  • 如何使新添加的复选框与任务一起工作?

    我已在我的 inno 设置任务页面添加了新的复选框 但我不知道如何使它们与任务一起工作 我希望它们与脚本中的 任务 区域一起工作 Tasks Name Newcheckboox1 Description Newcheckbox1 MinVe
  • 使用附件时,Send-MailMessage 会关闭每第二个连接

    我正在尝试编写一个 powershell 脚本来向 30 个人发送带有一些附件的电子邮件 这些电子邮件是个性化的 因此必须单独发送 该脚本无需附件即可正常工作 但是 使用附件时 Send MailMessage 的所有其他实例都会失败 并显
  • 更改悬停时的背景图像

    图像的比例与该问题有关系吗 menu background black width 100 height 45px menu ul text decoration none list style type none menu li text
  • 将 UIImage 转换为 8 位

    我希望将 UIImage 转换为 8 位 我尝试这样做 但我不确定我是否做得正确 因为稍后当我尝试使用图像处理库 leptonica 时收到一条消息 指出它不是 8 位 谁能告诉我我是否正确执行此操作或如何执行此操作的代码 Thanks C
  • 将列表拆分为大小递减的子列表

    假设我有一个列表 list 0 1 2 3 我如何将列表分成类似的内容 new list 0 1 2 3 1 2 3 2 3 3 我尝试过使用 def change list new list for i in range len list
  • rPython 包无法在 R Shinyshinyapps.io 上安装

    shinyapps io 服务器没有安装 python 吗 因为包rPython安装失败 需要安装python 如果答案是否定的 我觉得很奇怪 因为 RStudio 本身有蟒蛇支持 shinyapps io 服务器是否支持 python 或
  • 在 Google Cloud Platform 存储桶上托管静态网站时的 DNS

    抱歉 如果我的问题看起来很混乱 我对 DNS 或托管只有一个基本的了解 故事是这样的 我创建了几个个人网页并注册了一个域名 然后我发现我的几个页面不需要 大 托管 最好在云中托管一个网站 我选择了 GCP 进行托管 发现this教程并遵循以