这下可麻烦了。
我有这个网站,运行在heroku与一个来自另一个提供商的自定义域。我用正确的DNS连接了2。
它似乎在我的浏览器上工作,但在其他计算机上不工作,在清除我的缓存之后,它也不工作在地雷上。当他们访问网站时,它会显示域名提供商的网站。
起初,我认为这与ssl有关,因为我有错误说您的连接不是私有的。然后,我将config_force_ssl改为false:
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = false我的域名提供者DNS设置中的A记录链接到IP地址,Heroku不支持ip地址。或者仍然可能是ssl相关的东西。
以下是我的域提供程序DNS
ftp.example.io - CNAME - example.io
www.example.io - CNAME - example-example.herokuapp.com
example.io - A - 91.184.0.100
localhost.example.io - A - 91.184.0.100
webmail.example.io - A - 91.184.0.100
*.example.io - A - 91.184.0.100
mail.example.io - A - 91.184.0.94这里是我在heroku上添加的域
Domain name: example.io
DNS Target: example-example.herokuapp.com我已经不知道会是什么了。如能提供任何帮助,将不胜感激。
发布于 2016-06-17 11:16:12
好吧我解决了这个问题。对于那些为之奋斗的人来说,我就是这样做的:
步骤1
创建Cloudflare帐户,并将购买的域添加到cloudflare,并传输DNS设置‘
步骤2
将您的域添加到heroku面板中。在heroku站点上,登录,转到“设置”按下“添加自定义域”
- Add both your domain 'www.example.com' and your root domain 'example.com'
步骤3
如果您尚未将初始域提供程序上的名称服务器更改为指向cloudflare名称服务器,请立即这样做。您可以在
'DNS' -> 'cloudflare name servers'下的cloudflare面板上找到分配给您的cloudflare名称服务器
步骤4
转到cloudflare帐户上的'DNS‘,
remove all records (A, CNAME, ALIAS,TXT etc..).现在添加一个CNAME记录。名称应该是您的站点'www.example.com‘(带有www),它应该指向您的heroku应用程序example-example.herokuapp.com。
步骤5
创建一个帐户。然后按照Google给出的验证步骤执行。
步骤6
在
admin.google.com登录并转到“domains”。如果您看不到“域”,请单击“更多元素”。现在点击'change redirect‘并使您的根域'example.com’重定向到'www.example.com‘。
步骤7
转到您的cloudflare面板,然后转到'DNS',现在是
add 4 'A' Records。-所有4个“A”记录都应该有您的根域'example.com'的名称,它们应该指向216.239.32.21、216.239.34.21、216.239.36.21、216.239.38.21,这些都是谷歌为使重定向工作而提供的ip地址。
旁注
在cloudflare上,需要将“A”记录状态设置为“DNS只”,将“CNAME”记录状态设置为“DNS和HTTP代理(CDN)”
步骤8
在您的rails应用程序上,转到
production.rb并确保config.action_mailer.default_url_options = { host: 'https://example-example.herokuapp.com' }设置为config.action_mailer.default_url_options = { host: 'example-example.herokuapp.com' },因此只需删除'https://'‘。config.force_ssl也应该是false完成后的,确保将结果上传到heroku.
步骤9
在cloudflare,转到“crypto”,并确保SSL设置为“灵活”,如果不请立即更改,则可能需要几分钟才能由cloudflare完成更改。
恭喜!
此时,您的站点应该已经启动并运行,并且为您的根域以及您的完整域工作。
额外
只有当你想通过GMAIL发送商务电子邮件时(例如。info@example.com) 在cloudflare上转到'DNS‘并添加
5 'MX' Records。
example.com(您的根域)-指向带有priority 1的aspmx.l.google.comexample.com(您的根域)-指向带有priority 5的alt1.aspmx.l.google.comexample.com(您的根域)-指向带有priority 5的alt2.aspmx.l.google.comexample.com(您的根域)-指向带有priority 10的alt3.aspmx.l.google.comexample.com(您的根域)-指向带有priority 10的alt4.aspmx.l.google.com备注: TTL应为all 'MX' records设置为“1 hour”。
现在走出去,成为最好的自己!!
发布于 2016-06-15 16:55:26
您应该在DNS提供程序:https://devcenter.heroku.com/articles/custom-domains上创建CNAME记录。
发布于 2016-06-15 17:52:41
Heroku不支持DNS。但您可以添加自定义域和子域,并从您的域托管设置,重定向到Heroku应用程序。这是来自YouTube的小照片
#for domain
$ heroku domains:add www.example.com`
Adding www.example.com to example... done
>
#for subdomain
$ heroku domains:add blog.example.com`
Adding blog.example.com to example... donehttps://stackoverflow.com/questions/37841189
复制相似问题