Heroku托管RoR网站,CloudFlare ssl无法正常工作

时间:2015-10-20 15:33:08

标签: ruby-on-rails ssl heroku cloudflare

我迫切需要帮助!我有一个在Heroku上托管的Ruby on Rails网站。该网站与heroku应用程序地址工作正常。我想用ssl让我的自定义网址工作。我的网址已在GoDaddy注册,我为ssl创建了一个CloudFlare帐户,而无需支付Heroku收费的20美元/月。

我在heroku中添加了域名。我在CloudFlare DNS中创建了cname和cname flattening,并从godaddy更改了名称服务器。我有一个完整的ssl证书,CloudFlare显示为活动状态。但是,当我尝试访问该网站时,我收到以下错误:

SSL连接错误:无法与服务器建立安全连接。这可能是服务器的问题,或者可能需要您没有的客户端身份验证证书。

我在CloudFlare上经历了faq但没有成功。任何人都可以帮我解决我可能做错的事情吗?

谢谢!

=============================================== ===

  • SSLv3,TLS握手,客户端问候(1):
  • SSLv3,TLS警报,服务器问候(2):
  • 错误:14077438:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1警告内部错误
  • 关闭连接0 curl:(35)错误:14077438:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1警告内部错误

1 个答案:

答案 0 :(得分:0)

有点晚但这对我有用:

第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步

  

转到' DNS'在您的cloudflare帐户和remove all records (A, CNAME, ALIAS,TXT etc..).上   现在添加CNAME条记录。该名称应该是您的网站' www.example.com' (使用www),它应指向您的heroku应用example-example.herokuapp.com

第5步

  

创建Google Business帐户。并跟随   Google提供的验证步骤。

第6步

  

登录admin.google.com,然后转到&{39; domains'。如果你看不到的话   '结构域'点击更多元素'。现在点击&{39; 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.21216.239.36.21216.239.38.21,这是ip   Google提供的地址可让重定向工作。

旁注

  

在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上去加密'并确保SSL设置为' Flexible',   如果不是,请立即更改,可能需要一些时间才能完成cloudflare的更改。

祝贺!!!!!!!!!!!!!

  

此时,您的网站应该正常运行并为两者工作   您的根域以及您的完整域名。

<强> EXTRA

  

只有您想通过GMAIL发送商业电子邮件(例如info@example.com)

     

在云计算上转到“DNS&#39;并添加5 'MX' Records

     
      
  1. example.com(您的根域) - 使用aspmx.l.google.com
  2. 指向priority 1   
  3. example.com(您的根域) - 使用alt1.aspmx.l.google.com
  4. 指向priority 5   
  5. example.com(您的根域) - 使用alt2.aspmx.l.google.com
  6. 指向priority 5   
  7. example.com(您的根域) - 使用alt3.aspmx.l.google.com
  8. 指向priority 10   
  9. example.com(您的根域) - 使用alt4.aspmx.l.google.com
  10. 指向priority 10         

    注意: TTL应设置为&#39; 1 hour&#39; all 'MX' records

现在去那里成为自己最好的版本!!