使用 Let's Encrypt 设置多个域名 / 重定向

两个网站的 DNS 是否都指向该服务器?

如果你确定两个域名都解析到 discourse 服务器。

1 个赞

它现在可以正常工作了,我重建了两次。

1 个赞

当我在 Google Chrome 无痕模式下访问 mysite.ca 时,仍然显示此消息

您的连接不是私密的

攻击者可能试图窃取您在 mysite.ca 上的信息(例如密码、消息或信用卡)。[了解详情]

NET::ERR_CERT_COMMON_NAME_INVALID

返回安全模式 隐藏高级设置

此服务器无法证明它就是 mysite.ca;它的安全证书来自 forum.mysite.ca。这可能是由于配置错误或攻击者正在拦截您的连接。

[继续前往 mysite.ca(不安全)]

如何为 mysite.ca 获取安全证书?这与我的 DigitalOcean A 或 CNAME 记录有关吗?

1 个赞

实际的网址是什么?

如果你想将 domain.com 重定向到 forum.domain.com;我相信你只需要在 DNS 层面进行重定向即可。:thinking:

编辑:看起来你已经解决了你的问题。

1 个赞

如果你也想让 HTTPS 生效,那就不能这样。你需要为两个域都设置证书,否则你会收到一个无效证书的错误。

看起来它正在工作。

你可以谷歌搜索“检查 https 证书”之类的关键词,找到一些测试网站来查看证书是否有效。

1 个赞

当我在 Chrome/Brave 浏览器(不保存 cookie)上访问我的域名时,我仍然会收到警告。

您的连接不安全

攻击者可能试图窃取您在 mysite.ca 上的信息(例如密码、消息或信用卡)。了解详情

NET::ERR_CERT_COMMON_NAME_INVALID

当我按“继续”时,它会带我到我的 discourse 实例。我遵循了原始帖子的说明。
我不知道如何上传文件来为我的域名创建登陆页面,也不知道如何获取我的域名的证书,我只有子域/discourse 实例的 SSL。

我认为我已经解决了。

1 个赞

您可以再次运行 CertBot 并同时包含论坛和主域名的名称:-d mysite.ca -d forum.mysite.ca。将颁发包含这两个名称的新证书。

在测试和确保一切正常时,您应始终使用暂存环境。然后,再继续在生产环境中运行。这可以减少 LE 服务器的负载。

1 个赞

但是该命令已在 app.yml 中配置,并在站点重建时运行。可以对 /etc/runit/1.d/letsencrypt 进行一些更改并再次运行它,但这并不是大多数人乐于做的事情。而且这些更改会在镜像重建时被清除。

这很复杂,因为它需要 DNS 指向暂存环境,所以除非您要在暂存环境中为另一组主机名进行测试,并使用该 app.yml 和 DNS 设置作为生产环境设置模型的模型,否则暂存环境对于解决此 Let’s Encrypt 设置问题没有多大用处。

1 个赞

有两个显而易见的答案:

  • 使用 Nginx 或 Apache2 等反向代理,但我感觉这对于 OP 来说并不是最简单的任务(尽管它很简单)
  • 不使用顶级域

本主题是关于如何在没有反向代理的情况下执行此操作。

是我,是我 :flushed_face: 我是不是把两个话题搞混了,还是我太迷糊了?

总之……一般来说,所有的问题都不对,因为一个人遇到了自己无法解决的问题,然后寻求的解决方案并不总是正确的,因为……提问者不知道 :smirking_face:

是的,你说得对——太元了。

1 个赞

我没有运行 cert bot,但我已经多次重建了我的应用程序,我不确定是否读到它有限制。
我应该在 var/discourse 中运行 certbot 吗?
我已经成功设置了 unityforhesquiaht.ca 的重定向,但 nuuchahnulth.ca 还没有成功。我还在 Google Chrome 的无痕模式和其他浏览器的隐私模式下进行测试。我想知道我的 app.yml 文件中的缩进是否错误,或者我是否只是过多地重建了应用程序。我检查了缩进,看起来没问题,但我需要再检查一遍。

1 个赞

如果你这样做了,并且 DNS 没有为所有域设置,那么你就会达到速率限制,需要等待一周或使用另一组域。

或者两者都有!

如果你想让同一个服务器为它获取证书,DNS 是你的问题。

 pfaffman@noreno:~$ dig +short unityforhesquiaht.ca
164.92.110.32
 pfaffman@noreno:~$ dig +short nuuchahnulth.ca
24.199.125.235
2 个赞

我将它们设置在不同的液滴中,我认为是这样的

我可以等一周,我还没有那么多用户,现在也买不起更多的域名。我拥有的时间比金钱多哈哈

1 个赞

这很可能是问题所在。5 次就会达到限制。这就是我建议使用 staging 的原因——可以无限次尝试来完成所有设置。如果他使用了 certbot,日志中就会出现类似“尝试次数过多……”的错误消息,并告知他速率限制和等待时间,或者使用其他域名等。我不确定如果有人没有使用 certbot,日志中是否会显示该错误或类似的错误。

2 个赞

哦。也许你的意思是 Let’s Encrypt 的暂存环境,而不是一个暂存网站。我不知道如何使用 Let’s Encrypt 模板来做到这一点。

2 个赞

是的,我指的是 LE 暂存环境。这里有两个关于 LE Staging 和 Pebble(专为暂存/开发而构建的小型 acme 服务器)的链接。第一个链接显示了不同场景的限制。

2 个赞

那些不能帮助人们了解是否有可能让 discourse 的 Let’s Encrypt 模板使用暂存模式。

1 个赞

看起来你已经全部搞定了。
我一直想把我的 discourse 实例放在我的域名上,而不是子域名上。这会带来什么问题?我想知道我是否可以更改我已经建立的域名,并在未来的构建中这样做。
你做了标准安装吗?你有什么建议或忠告吗?谢谢。
我似乎在将我的 unityforhesquiaht.ca 域名重定向到我的 forum.unityforhesquiaht.ca 时遇到了问题,我等了一周来重建应用程序,重建后仍然存在此问题。

1 个赞