Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku和BigRock的裸域_Ruby On Rails_Heroku_Dns_Cname_Wildcard Subdomain - Fatal编程技术网

Ruby on rails Heroku和BigRock的裸域

Ruby on rails Heroku和BigRock的裸域,ruby-on-rails,heroku,dns,cname,wildcard-subdomain,Ruby On Rails,Heroku,Dns,Cname,Wildcard Subdomain,我的域名example.com来自域名注册商BigRock,它还为我提供了DNS管理面板。 我的应用程序托管在Herokuexample.herokuapp.com上 Heroku的域设置: bash-3.2$ heroku domains === MyApp Domain Names *.example.com example.herokuapp.com example.com www.example.com 在我的DNS管理面板中,我有0条A记录,1条MX记录用于Hotmail,1条CNA

我的域名
example.com
来自域名注册商BigRock,它还为我提供了DNS管理面板。
我的应用程序托管在Heroku
example.herokuapp.com

Heroku的域设置:

bash-3.2$ heroku domains
=== MyApp Domain Names
*.example.com
example.herokuapp.com
example.com
www.example.com
在我的DNS管理面板中,我有0条A记录,1条MX记录用于Hotmail,1条CNAME记录用于
www.example.com

我知道Heroku的裸域和A记录的问题。 我经历了这些: 1.
2.
3.

上述链接和许多其他链接指向两种解决方案:

  • 通过DNSimple/DNS使用别名或ANAME记录变得很容易
  • 如果您的DNS提供商不支持此类记录类型,并且您无法切换到支持的记录类型,则需要使用子域重定向将根域请求发送到Heroku上的应用程序
因为,我在BigRock DNS管理控制台上找不到这样的记录。只有这些记录——“A、AAAA、MX、CNAME、TXT、SRV和SOA”

因此,我为我的域设置了“域转发”。但是,它只给了我一个选项,即提供“您希望转发www.example.com和example.com请求的指定URL”

现在,如果我这样做了

bash-3.2$ host example.com
example.com has address 173.194.16.11
example.com mail is handled by 15 888379351a9a.pamx1.hotmail.com.

这确实解决了裸域问题。但是像
xyz.example.com
这样的其他子域仍然没有重定向到
www.example.com
,因为 在BigRock DNS提供商的“域转发”部分中,没有提及将所有子域(即“*”重定向到任何其他名称)

那么,我的问题是如何解决重定向子域的问题?

另一个查询与SSL有关-

在这里,它说 但是,请注意,使用此方法,对根域的安全请求(例如)将导致向用户显示错误或警告

是否有任何方法可以解决上述问题,或者我是否必须切换到DNSimple或易于使用其提供的ALIAS或ANAME records服务的DNS

更新:
进一步挖掘后,我发现这一点非常重要,建议使用:


这是更好的方法吗?

一旦你在BigRock DNS面板中设置了域名转发,你会看到两条a记录,如
example.com=>173.193.106.11
www.example.com=>173.193.106.11
。同样,如果您创建通配符dns记录,它将重定向到所有域。i、 e
*.example.com=>173.193.106.11


我不确定您的IP是否相同,因为Bigrock可能使用多台服务器提供此服务。

Linode也不提供裸域ANAME记录。我找到的一个解决方案是像往常一样为Heroku应用程序添加www.site.com CNAME记录。然后将裸域/捕获所有A记录指向以下IP地址:

174.129.25.170
这是由提供的免费裸域重定向服务。它将占用您的裸域,只需将其重定向到www.equality:

site.com => www.site.com

希望这有帮助。

尝试在域名转发面板的“目的地”中添加您的域名,网址为www。 稍后,删除
www
的A记录。因此,只有2个A记录

i、 e表示裸域和通配符(*)

然后为
www
添加一条CNAME记录,指向
HerokuApp
值。
如果您面临任何问题,请务必告知我们。

您必须将您的站点从裸域转发到www子域。此功能可在
管理DNS
功能旁边使用。对话框打开后,只需输入您的www子域(
www.example.com
)。6到8小时后(有时需要1天),它会自动为您的裸域(
example.com
)添加一条
A记录,指向ip
173.193.106.14
,,例如kanhaiyakumawat.com和kanhaiyakumawat.herokuapp.com

以下是步骤

  • 在heroku帐户中为添加记录
  • www.kanhaiyakumawat.com至kanhaiyakumawat.herokuapp.com
  • kanhaiyakumawat.com至kanhaiyakumawat.herokuapp.com
  • *.kanhaiyakumawat.com至kanhaiyakumawat.herokuapp.com
现在heroku侧的设置完成了。让我们转到bigrock的“DNS管理”部分。单击“管理DNS”

  • 添加CNAME记录
  • www.kanhaiyakumawat.com至kanhaiyakumawat.herokuapp.com
  • *.kanhaiyakumawat.com至kanhaiyakumawat.herokuapp.com
最重要:设置裸域或根域设置

  • 这是最棘手的部分。只需保留“主机名”文本框 清空并选择值中的第二个单选按钮
  • 在此处输入您的heroku dns值,例如kanhaiyakumawat.herokuapp.com
此处提供了相同的步骤:

感谢Waqar的回复。是的,正如你提到的,Bigrock确实创造了2个A记录。但是,当谈到这里提到的Heroku托管时,A记录是不好的-如果我在这里遗漏了一些明显的东西,请纠正我。再次感谢。:)Jatin,这个IP地址来自Bigrock,而不是Heroku,我确信,Bigrock不会在没有通知的情况下更改重定向服务服务器的IP。我正在使用此重定向服务,我相信它将满足您的目的。我同意你的建议。我会保持悬赏的开放性,以便尽可能吸引更多人的注意力。谢谢Andy,但现在我要继续使用@Waqar的解决方案,因为对于通配符域,我必须这样做。
site.com => www.site.com