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

DNS when hosting a static website on Google Cloud Platform bucket

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

我已经创建了几个个人网页并注册了一个域。然后我发现我的几个页面不需要 "big" 托管,最好在云中托管一个网站,我选择 GCP 进行托管,找到 this 教程并继续进行成功实现了我托管静态网站的目标。

然后我想在社交媒体上分享一个 link 到我的网站,发现我添加到我的网站的 Open Graph Protocol 元信息在网站运行正常时没有显示。 St运行ge 东西,我想到并开始搜索。我找到 Facebook debugger tool 并用它来检查我的网站,只看到 "Could not resolve the hostname into a valid IP address." 响应。

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

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

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

请为我指明正确的方向。我不仅需要我的网站作为 hyperlink 在互联网上可用,我还希望 OGP 元数据在社交媒体中共享 link 时可用和可见。我不介意我的网站是托管在Bucket上还是托管在GCP DNS的VM上,我只是想了解我应该往哪个方向挖掘。

详情: 我的域是 http://www.vladimir-markiev.name/. I followed every step of GCP tutorial exactly as described in documentation:已启用计费,已验证域所有权,在域注册商的 DNS 上配置了 CNAME 记录到 www. vladimir-markiev.name(开头的 www. 让我有点恼火,也许我稍后会尝试处理它)。我管理了 "public and can be accessed by anyone on the internet" 对我的存储桶的访问。 我可以将自己的 DNS 服务器列表添加到我的域中 - 注册商允许这样做。

更新: 我的域中的 CNAME 记录不知何故丢失了。我将其配置为指向 GCP。 Check successful.

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

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 区域配置。

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

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 propagation time(更改通常需要 24 到 48 小时)。