首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Heroku应用程序链接到域名提供商网站

Heroku应用程序链接到域名提供商网站
EN

Stack Overflow用户
提问于 2016-06-15 16:42:09
回答 4查看 136关注 0票数 1

这下可麻烦了。

我有这个网站,运行在heroku与一个来自另一个提供商的自定义域。我用正确的DNS连接了2。

它似乎在我的浏览器上工作,但在其他计算机上不工作,在清除我的缓存之后,它也不工作在地雷上。当他们访问网站时,它会显示域名提供商的网站。

起初,我认为这与ssl有关,因为我有错误说您的连接不是私有的。然后,我将config_force_ssl改为false:

代码语言:javascript
复制
 # 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

代码语言:javascript
复制
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上添加的域

代码语言:javascript
复制
Domain name: example.io
DNS Target: example-example.herokuapp.com

我已经不知道会是什么了。如能提供任何帮助,将不胜感激。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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.21216.239.34.21216.239.36.21216.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

  1. example.com(您的根域)-指向带有priority 1aspmx.l.google.com
  2. example.com(您的根域)-指向带有priority 5alt1.aspmx.l.google.com
  3. example.com(您的根域)-指向带有priority 5alt2.aspmx.l.google.com
  4. example.com(您的根域)-指向带有priority 10alt3.aspmx.l.google.com
  5. example.com(您的根域)-指向带有priority 10alt4.aspmx.l.google.com

备注: TTL应为all 'MX' records设置为“1 hour”。

现在走出去,成为最好的自己!!

票数 0
EN

Stack Overflow用户

发布于 2016-06-15 16:55:26

您应该在DNS提供程序:https://devcenter.heroku.com/articles/custom-domains上创建CNAME记录。

票数 0
EN

Stack Overflow用户

发布于 2016-06-15 17:52:41

Heroku不支持DNS。但您可以添加自定义域和子域,并从您的域托管设置,重定向到Heroku应用程序。这是来自YouTube的小照片

代码语言:javascript
复制
#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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37841189

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档