我遇到了麻烦。
我有这个网站,该网站在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
我不再知道它可能是什么。任何帮助将不胜感激
您应该在DNS提供商:https://devcenter.heroku.com/articles/custom-domains
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... done
将heroku域名配置为 www.example.io
。
oké我解决了问题。对于那些挣扎的人来说,这就是我的做法:
步骤1
创建一个Cloudflare帐户,并将购买的域添加到Cloudflare和 传输DNS设置'
步骤2
将您的域添加到Heroku面板中。在Heroku网站上,登录,去 要"设置"按'添加自定义域'
- Add both your domain 'www.example.com' and your root domain 'example.com'
步骤3
如果您没有在初始域上更改名称服务器 提供者指向CloudFlare名称服务器,请立即进行。你 可以找到在您的Cloudflare名称服务器上分配给您的
'DNS' -> 'cloudflare name servers'
下的CloudFlare面板
步骤4
在您的Cloudflare帐户和
remove all records (A, CNAME, ALIAS,TXT etc..).
上转到" DNS" 现在添加CNAME
记录。该名称应为您的网站"www.example.com
"(带有www),它应该指向您的Heroku应用程序example-example.herokuapp.com
步骤5
创建一个Google业务帐户。并跟随 Google给出的验证步骤。
步骤6
在
admin.google.com
登录并转到'domains
'。如果看不到 "域"单击"更多元素"。现在单击"change redirect
",然后 使您的根域"example.com
"重定向到"www.example.com
"。
步骤7
转到您的Cloudflare面板,然后转到" DNS",现在
add 4 'A' Records
。 - " A"记录的所有4个都应具有您的根域的名称'example.com'
,它们应指向216.239.32.21
,216.239.34.21
,216.239.36.21
,216.239.38.21
,是IP Google给出的地址使重定向起作用。
旁注
在Cloudflare上,需要将" A"记录状态设置为" DNS" 以及" DNS和HTTP代理(CDN)"的" cname"记录状态'
步骤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上转到"加密",并确保SSL设置为" fixible", 如果不是,请立即更改,可能需要一些时间才能通过Cloudflare完成更改。
恭喜!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 这一点 您的根域和整个域。 额外 仅当您想要gmail的业务电子邮件(例如info@example.com) 在CloudFlare上转到" DNS"并添加 注意: 现在去那里,是您自己最好的版本!5 'MX' Records
。example.com
(您的根域) - 用priority 1
指向aspmx.l.google.com
example.com
(您的根域) - 用priority 5
指向alt1.aspmx.l.google.com
example.com
(您的根域) - 用priority 5
指向alt2.aspmx.l.google.com
example.com
(您的根域) - 用priority 10
指向alt3.aspmx.l.google.com
example.com
(您的根域) - 用priority 10
指向alt4.aspmx.l.google.com
TTL
应将1 hour
'设置为all 'MX' records
。