无法更改域名

大家好,

我按照教程在 DigitalOcean Droplet 上安装了 Discourse,运行非常顺利。

安装时使用的是 discourse.mydomain.com,但现在我想将其迁移到不带子域名的 mydomain.com
显然,我已经正确设置了 DNS 记录,并通过从我的电脑和 Droplet 的命令行 ping 域名确认了更改已生效。一切正常。
我还将域名添加到了 Droplet 中。
我编辑了 app.yml 并修改了主机名,然后执行了 ./launcher rebuild app(已经重复了上百次)。

但之后,我的 Discourse 站点无论是通过旧 URL 还是新 URL 都无法访问。
如果我再次编辑 app.yml 并恢复原来的子域名后重新构建,站点又能正常工作了。

我已经花了三个小时尝试解决这个问题,肯定遗漏了什么简单的步骤。有人能告诉我我漏掉了什么吗?

谢谢,
Björn

1 个赞

您是否阅读了关于更改域名的文档?

2 个赞

是的,我正是这样做的。不知为何,Droplet 上的 Discourse 安装没有响应正确的域名。

您尝试更改域名的次数是多少?

您是否使用了 Let’s Encrypt?

您是否使用了任何类型的代理服务器或 Cloudflare?

1 个赞

到目前为止,我在几个小时内多次更改了我的域名(当然,第一次更改域名时它也无法正常工作)。
我确实使用了 Let’s Encrypt。我按照安装程序操作,它默认已启用。我没有输入 Let’s Encrypt 的邮件地址,因为据我了解,该地址仅用于通知。
没有代理服务器或 Cloudflare。

https://discourse.fpv-racing.nl

fpv-racing.nl 的 DNS 目前已恢复为之前的 IP 地址。

更改 DNS 记录可能需要 4 到 24 小时才能生效。

这不是即时完成的。虽然有办法缩短等待时间,但这取决于域名提供商。

DNS 并非问题所在。所有域名都已正确指向对应的 IP 地址。我已通过 dig 和 ping 命令,分别在 Mac 和 DigitalOcean Droplet 的命令行中进行了检查。

重新构建后检查了日志,似乎 Let’s Encrypt 存在问题。有人知道可能导致这些错误的原因吗?旧服务器上还有一个 Let’s Encrypt 证书。

run-parts: 正在执行 /etc/runit/1.d/letsencrypt
[Sun 04 Oct 2020 09:53:54 AM UTC] 使用的 CA: https://acme-v02.api.letsencrypt.org/directory
[Sun 04 Oct 2020 09:53:54 AM UTC] 创建账户密钥成功。
[Sun 04 Oct 2020 09:53:55 AM UTC] 正在注册账户:https://acme-v02.api.letsencrypt.org/directory
[Sun 04 Oct 2020 09:53:56 AM UTC] 已注册
[Sun 04 Oct 2020 09:53:56 AM UTC] ACCOUNT_THUMBPRINT='hbi1tfC1bozb6iAu8yXW0D107W5F98rnrTvvS5eosNU'
[Sun 04 Oct 2020 09:53:56 AM UTC] 正在创建域名密钥
[Sun 04 Oct 2020 09:53:57 AM UTC] 域名密钥位于此处:/shared/letsencrypt/fpv-racing.nl/fpv-racing.nl.key
[Sun 04 Oct 2020 09:53:57 AM UTC] 单个域名='fpv-racing.nl'
[Sun 04 Oct 2020 09:53:57 AM UTC] 正在为每个域名获取域名授权令牌
[Sun 04 Oct 2020 09:54:00 AM UTC] 正在获取域名='fpv-racing.nl' 的 Web 根目录
[Sun 04 Oct 2020 09:54:00 AM UTC] 正在验证:fpv-racing.nl
[Sun 04 Oct 2020 09:54:03 AM UTC] fpv-racing.nl: 验证错误:来自 https://fpv-racing.nl/404.shtml [2a06:2ec0:1::120] 的响应无效:
[Sun 04 Oct 2020 09:54:03 AM UTC] 请查看日志文件以获取更多详细信息:/shared/letsencrypt/acme.sh.log
加载文件 ca.cer 时出错
[Sun 04 Oct 2020 09:54:05 AM UTC] 使用的 CA: https://acme-v02.api.letsencrypt.org/directory
[Sun 04 Oct 2020 09:54:05 AM UTC] 单个域名='fpv-racing.nl'
[Sun 04 Oct 2020 09:54:05 AM UTC] 正在为每个域名获取域名授权令牌
[Sun 04 Oct 2020 09:54:07 AM UTC] 正在获取域名='fpv-racing.nl' 的 Web 根目录
[Sun 04 Oct 2020 09:54:07 AM UTC] 正在验证:fpv-racing.nl
[Sun 04 Oct 2020 09:54:11 AM UTC] fpv-racing.nl: 验证错误:来自 https://fpv-racing.nl/404.shtml [2a06:2ec0:1::120] 的响应无效:
[Sun 04 Oct 2020 09:54:11 AM UTC] 请查看日志文件以获取更多详细信息:/shared/letsencrypt/acme.sh.log
[Sun 04 Oct 2020 09:54:12 AM UTC] 正在安装密钥到:/shared/ssl/fpv-racing.nl.key
[Sun 04 Oct 2020 09:54:12 AM UTC] 正在安装完整链到:/shared/ssl/fpv-racing.nl.cer
cat: /shared/letsencrypt/fpv-racing.nl/fullchain.cer: 没有那个文件或目录
[Sun 04 Oct 2020 09:54:13 AM UTC] 使用的 CA: https://acme-v02.api.letsencrypt.org/directory
[Sun 04 Oct 2020 09:54:13 AM UTC] 正在创建域名密钥
[Sun 04 Oct 2020 09:54:13 AM UTC] 域名密钥位于此处:/shared/letsencrypt/fpv-racing.nl_ecc/fpv-racing.nl.key
[Sun 04 Oct 2020 09:54:13 AM UTC] 单个域名='fpv-racing.nl'
[Sun 04 Oct 2020 09:54:13 AM UTC] 正在为每个域名获取域名授权令牌
[Sun 04 Oct 2020 09:54:15 AM UTC] 正在获取域名='fpv-racing.nl' 的 Web 根目录
[Sun 04 Oct 2020 09:54:15 AM UTC] 正在验证:fpv-racing.nl
[Sun 04 Oct 2020 09:54:19 AM UTC] fpv-racing.nl: 验证错误:来自 https://fpv-racing.nl/404.shtml [2a06:2ec0:1::120] 的响应无效:
[Sun 04 Oct 2020 09:54:19 AM UTC] 请查看日志文件以获取更多详细信息:/shared/letsencrypt/acme.sh.log
加载文件 ca.cer 时出错
[Sun 04 Oct 2020 09:54:21 AM UTC] 使用的 CA: https://acme-v02.api.letsencrypt.org/directory
[Sun 04 Oct 2020 09:54:21 AM UTC] 单个域名='fpv-racing.nl'
[Sun 04 Oct 2020 09:54:21 AM UTC] 正在为每个域名获取域名授权令牌
[Sun 04 Oct 2020 09:54:23 AM UTC] 正在获取域名='fpv-racing.nl' 的 Web 根目录
[Sun 04 Oct 2020 09:54:23 AM UTC] 正在验证:fpv-racing.nl
[Sun 04 Oct 2020 09:54:27 AM UTC] fpv-racing.nl: 验证错误:来自 https://fpv-racing.nl/404.shtml [2a06:2ec0:1::120] 的响应无效:
[Sun 04 Oct 2020 09:54:27 AM UTC] 请查看日志文件以获取更多详细信息:/shared/letsencrypt/acme.sh.log
[Sun 04 Oct 2020 09:54:28 AM UTC] 正在安装密钥到:/shared/ssl/fpv-racing.nl_ecc.key
[Sun 04 Oct 2020 09:54:28 AM UTC] 正在安装完整链到:/shared/ssl/fpv-racing.nl_ecc.cer
cat: /shared/letsencrypt/fpv-racing.nl_ecc/fullchain.cer: 没有那个文件或目录
加载文件 ca.cer 时出错
加载文件 ca.cer 时出错

文件已写入,但大小为 0 字节:

root@discourse:/var/discourse# ls -l /var/discourse/shared/standalone/ssl
total 8
-rw-r--r-- 1 root root    0 Oct  4 09:54 fpv-racing.nl.cer
-rw------- 1 root root 3243 Oct  4 09:54 fpv-racing.nl.key
-rw-r--r-- 1 root root    0 Oct  4 09:54 fpv-racing.nl_ecc.cer
-rw------- 1 root root  302 Oct  4 09:54 fpv-racing.nl_ecc.key

当手动请求证书时(在此页面上找到了相关流程),我针对 fpv-racing.nl 遇到了相同的错误。而针对 discourse.fpv-racing.nl 则显示“成功”。

目前看来,我已在这一小时内触达了速率限制(最近失败的授权请求过多)。

我想这就是罪魁祸首……我还没有移除旧的 IPv6 地址。现在只能等待速率限制生效了:[frowning]

这确实是问题所在。我之前从未注意过 IPv6 设置……感谢各位的反馈 :slight_smile:

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.