我正在开发一个Rails应用程序,每个公司都有一个定制的子域。当一家公司注册时,用户将被重定向到她的subdomain.myapp.io。
该应用程序托管在Heroku上,DNS由CloudFlare管理。我使用了CloudFlare提供的免费SSL特性,它可以按照https://myapp.io的预期工作。
我的问题是为子域启用SSL。我想知道,如果不购买通配符SSL证书,这是否是可能的。
CloudFlare DNS设置:
myapp.io. 300 IN CNAME myapp.herokuapp.com.
*.myapp.io. 300 IN CNAME myapp.herokuapp.com.Heroku域设置:
myapp.io
*.myapp.io这是可行的,但在子域上没有SSL。不可能对通配符子域使用CloudFlare特性(例如SSL )(除企业计划用户外)。
我想我需要为我的域购买一个通配符SSL证书(115美元/年),并添加SSL端点Heroku加载项(7美元/月)。我说错了吗?
发布于 2016-07-28 08:08:58
简短回答:
您不能为CloudFlare (免费计划)上的子域提供免费的通配符SSL (完全保护)。
长答案:
我的意思是使用通配符与CloudFlare (免费计划),CloudFlare代理保护和加速被绕过(没有橙色云),所以您的原始服务器SSL证书将被使用。因此,要启用SSL,您需要为每个子域添加一个CNAME记录(云图标应该是橙色的)。
示例: foo.myapp.io。300 IN CNAME myapp.herokuapp.com. bar.myapp.io。300 IN CNAME myapp.herokuapp.com.
(如果您已经拥有*.myapp.io,则不需要在Heroku中为自定义域添加任何记录)
编辑
也许您可以通过CloudFlare的API (https://api.cloudflare.com/#dns-records-for-a-zone-create-dns-record)动态添加DNS记录
(我没试过.)
解决方案:
正如你所说:
希望能帮上忙。
https://stackoverflow.com/questions/37440038
复制相似问题