Ruby on rails 为Heroku域指定SSL端点

Ruby on rails 为Heroku域指定SSL端点,ruby-on-rails,ssl,heroku,Ruby On Rails,Ssl,Heroku,我有两个Heroku应用程序层(一个生产应用程序和一个临时应用程序) 根据子域的不同,我的DNS配置为指向其中一个 *.example.co->应用程序制作 *.staging.example.co->app staging SSL SSL附加模块对这两个都启用。将相同的SSL通配符证书上载到这两个服务器 > heroku certs --remote production Endpoint Common Name(s)

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

根据子域的不同,我的DNS配置为指向其中一个

  • *.example.co
    ->
    应用程序制作
  • *.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?
它会自动为我添加DNS目标。在Prod上,它会自动添加SSL端点


有办法解决这个问题吗

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

这是在中指定的,其中表示

名称可能包含通配符 字符*被认为与任何单个域名匹配 组件或组件片段。例如,*.a.com与foo.a.com匹配,但 不是bar.foo.a.com。f*.com与foo.com匹配,但与bar.com不匹配


啊,我明白了。所以似乎没有真正的解决办法,除非我为
*.staging.example.co
购买另一个通配符证书,对吗?或者,由于它是暂存的,我也可以生成一个自签名证书。但这能解决问题吗?谢谢自签名证书可以工作(一旦您告诉浏览器信任它),您还可以使用对多个域名有效的证书(生成证书时必须提供完整列表)
> heroku domains:add *.staging.example.co --remote staging