gpt4 book ai didi

ruby-on-rails - 为 Heroku 域指定 SSL 端点

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:28 26 4
gpt4 key购买 nike

我有两个 Heroku 应用程序层(一个生产应用程序和一个暂存应用程序)

我的 DNS 配置为指向其中一个,具体取决于子域。

  • *.example.co -> app-production
  • *.staging.example.co -> app-staging

SSL

两者都启用了 SSL 插件。将完全相同的 SSL 通配符证书上传到两者。

> heroku certs --remote production
Endpoint Common Name(s) Expires Trusted
---------------------------- ------------------------ -------------------- -------
tokushima-XXXX.herokussl.com *.example.co, example.co 2018-10-10 00:00 UTC True


> heroku certs --remote staging
Endpoint Common Name(s) Expires Trusted
---------------------------- ------------------------ -------------------- -------
hiroshima-XXXX.herokussl.com *.example.co, example.co 2018-10-10 00:00 UTC True

每个都有相应的域也在 Heroku 中配置

> heroku domains --remote production

=== app-production Custom Domains
Domain Name DNS Target
----------------------------- -------------------------------------
*.example.co tokushima-XXXX.herokussl.com
example.co tokushima-XXXX.herokussl.com


> heroku domains --remote staging

=== app-staging Custom Domains
Domain Name DNS Target
-------------------- ------------------------
*.staging.example.co app-staging.herokuapp.com <-- should this be the SSL endpoint?

问题

以上所有在路由方面都很好。

  • foo.example.co 访问我的生产应用
  • foo.staging.example.co 访问我的暂存应用

但是在分段时,SSL 不起作用。我收到“证书不受信任”错误,即使它是同一个证书。

我强烈怀疑这是因为在配置暂存域时,DNS 目标应该是 SSL 端点,而不是直接的 heroku 应用程序 URL。

但我无法编辑它。如果我这样做

> heroku domains:add *.staging.example.co --remote staging

它会自动为我添加 DNS 目标。在 Prod 上,它自动添加了 SSL 端点。

有解决办法吗?

最佳答案

这是 ssl 通配符证书的行为方式:*.example.com 的证书对 foo.example.com 有效,但对 bar.foo.example.com 无效。

这在 rfc 2818 中指定,它说

Names may contain the wildcardcharacter * which is considered to match any single domain namecomponent or component fragment. E.g., *.a.com matches foo.a.com butnot bar.foo.a.com. f*.com matches foo.com but not bar.com

关于ruby-on-rails - 为 Heroku 域指定 SSL 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33181129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com