Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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 对非www使用PointDNS并处理SSL_Ruby On Rails_Ssl_Heroku_Dns_Subdomain - Fatal编程技术网

Ruby on rails 对非www使用PointDNS并处理SSL

Ruby on rails 对非www使用PointDNS并处理SSL,ruby-on-rails,ssl,heroku,dns,subdomain,Ruby On Rails,Ssl,Heroku,Dns,Subdomain,我一直在使用Heroku来托管我的应用程序(www.justbooked.com),godaddy是存储域的地方。出于某种原因,最近非www版本(如justbooked.com)不再有效 GoDaddy似乎没有为根级域(example.com)提供ANAME/ALIAS或其他CNAME样式的功能 我想知道如何让justbooked.com像www.justbooked.com一样工作。Godaddy还有其他可能吗?请记住,我有SSL证书等 如果这在GoDaddy中是不可能的,那么使用类似Poin

我一直在使用Heroku来托管我的应用程序(www.justbooked.com),godaddy是存储域的地方。出于某种原因,最近非www版本(如justbooked.com)不再有效

GoDaddy似乎没有为根级域(example.com)提供ANAME/ALIAS或其他CNAME样式的功能

我想知道如何让justbooked.com像www.justbooked.com一样工作。Godaddy还有其他可能吗?请记住,我有SSL证书等

如果这在GoDaddy中是不可能的,那么使用类似PointDNS的东西可能会起作用,但我仍然不确定如何使用我现有的SSL证书配置PointDNS

这里的任何帮助都会很好,目标是让justbooked.com(非www)工作


谢谢

通过pointdns指向任何网站时,您可以使用两种方式,一种是通过cname,另一种是使用类似pointdns的服务。如果您想在justbooked.com这样的裸域上运行SSL,您需要在此处指向DNS

PointDNS配置非常简单,因为您只需要将dns记录从godaddy添加到PointDNS


对于SSL,您可以使用ACM或在heroku设置中添加您自己的证书。ACM使用let's encrypt SSL,它是免费的,但不允许通配符SSL。

通过pointdns指向任何网站时,您可以使用两种方式,一种是通过cname,另一种是使用类似pointdns的服务。如果您想在justbooked.com这样的裸域上运行SSL,您需要在此处指向DNS

PointDNS配置非常简单,因为您只需要将dns记录从godaddy添加到PointDNS


对于SSL,您可以使用ACM或在heroku设置中添加您自己的证书。ACM使用let's encrypt SSL,它是免费的,但不允许通配符SSL。

我想您的问题现在可能已经解决了,但为了帮助像您和我这样的人(在4周前我遇到同样的问题时发现了这个主题),我正在写一个关于如何让PointDNS在HTTPS上为www和非www域工作的分步教程开始前阅读所有步骤,包括注释。

  • 通过Heroku的UI或使用CLI命令为项目中的PointDNS创建加载项:
    Heroku加载项:创建PointDNS:developer
  • 打开Heroku的UI并进入PointDNS仪表板。查找“名称服务器”选项卡并查看名称服务器列表。寻找最适合你的
  • 复制推荐的名称服务器数量(不多也不少),转到您购买域的地方(在您的案例中是GoDaddy),并编辑DNS服务器以指向PointFor PointDNS。等待至少2小时,这些更改才会生效
  • 通过Heroku的UI或使用CLI命令将您的www和非www域添加到Heroku自定义域列表中:
    Heroku域:添加justbooked.com
    Heroku域:添加www.justbooked.com
  • 复制每个域显示的两个DNS目标(以
    .herokudns.com
    结尾的目标)。您可以通过Heroku的UI或使用CLI命令检查DNS目标:
    Heroku域
  • 转到PointDNS仪表板,添加根域(非www)的别名记录和www域的CNAME记录;在每个目标上,添加在上一步中复制的对应DNS目标。可能这两个域的记录是在添加PointDNS加载项时自动创建的;在这种情况下,只需编辑DNS目标
  • 再等待1小时,Heroku将使用ACM(自动证书管理)自动为您设置SSL证书。如果一切顺利,您现在应该让两个域都使用HTTPS协议
  • 笔记:
  • 如果有多个Heroku应用程序使用相同的git代码库,则需要在Heroku CLI命令中使用
    --app
    标志
  • 你说你有一个现有的SSL证书。如果您想使用它而不是ACM提供的,您需要设置一个SSL端点。为此,在第4步之前,使用CLI命令创建一个:
    heroku addons:create ssl:endpoint
    。之后,使用以下命令上载证书:
    heroku certs:add server.crt server.key——键入endpoint
    在步骤5中,使用
    heroku证书,而不是
    heroku域
    命令。在步骤6中使用端点DNS目标(以
    .ssl.herokudns.com
    结尾的目标)
  • 设置域和SSL证书后,您可能还希望将所有HTTP通信重定向到HTTPS。您只能通过将重定向逻辑编码到应用程序中来实现这一点。对于RubyonRails,您需要在
    config/environments/production.rb
    或类似文件中使用
    config.force\u ssl=true
  • 您可能会看到许多教程使用
    .herokuapp.com
    链接而不是
    .herokudns.com
    链接作为PointDNS中的DNS目标这可能适用于HTTP流量,但您的HTTPS会话将失败。使用
    .herokudns.com
    ,即使您只使用HTTP(可能您使用的是免费托管计划),因为以后设置HTTPS会更容易
  • 参考资料:
  • (有点过时,但可能是一个很好的资源)

  • 我想你的问题现在可能已经解决了,但是为了帮助像你我这样的人(4周前我遇到同样的问题时发现了这个话题),我正在写一个关于如何让PointDNS在HTTPS上为www和非www域工作的分步教程开始前阅读所有步骤,包括注释。

  • 通过Heroku的UI或使用CLI命令为项目中的PointDNS创建加载项:
    Heroku加载项:创建PointDNS:developer
  • 打开Heroku的UI并输入