Ruby on rails Heroku托管的RoR站点,CloudFlare ssl不工作
我急需帮助!我在Heroku上有一个RubyonRails站点。该网站使用heroku应用程序地址运行良好。我正在尝试使用ssl使自定义url正常工作。我的url已向GoDaddy注册,我为ssl创建了一个CloudFlare帐户,而无需支付Heroku收取的20美元/月的费用 我在heroku中添加了域名。我在CloudFlare DNS中创建了cname和cname扁平化,并从godaddy更改了名称服务器。我有一个完整的ssl证书,CloudFlare显示为活动状态。但是,当我尝试访问该网站时,出现以下错误: SSL连接错误:无法与服务器建立安全连接。这可能是服务器的问题,或者可能需要您没有的客户端身份验证证书 我已经阅读了CloudFlare的常见问题解答,但没有成功。有人能帮我解决我可能做错的事情吗 谢谢 ==================================================Ruby on rails Heroku托管的RoR站点,CloudFlare ssl不工作,ruby-on-rails,ssl,heroku,cloudflare,Ruby On Rails,Ssl,Heroku,Cloudflare,我急需帮助!我在Heroku上有一个RubyonRails站点。该网站使用heroku应用程序地址运行良好。我正在尝试使用ssl使自定义url正常工作。我的url已向GoDaddy注册,我为ssl创建了一个CloudFlare帐户,而无需支付Heroku收取的20美元/月的费用 我在heroku中添加了域名。我在CloudFlare DNS中创建了cname和cname扁平化,并从godaddy更改了名称服务器。我有一个完整的ssl证书,CloudFlare显示为活动状态。但是,当我尝试访问该网
- SSLv3,TLS握手,客户端hello(1):
- SSLv3,TLS警报,服务器你好(2):
- 错误:14077438:SSL例程:SSL23\u GET\u SERVER\u HELLO:tlsv1警报内部错误
- 正在关闭连接0 curl:(35)错误:14077438:SSL例程:SSL23\u GET\u SERVER\u HELLO:tlsv1警报内部错误
- 有点晚了,但这对我来说很有效:
步骤1
创建Cloudflare帐户,并将购买的域添加到Cloudflare和
传输DNS设置'
步骤2
将您的域添加到heroku面板。在heroku站点上,登录,转到
要进行“设置”,请按“添加自定义域”
-添加域“www.example.com”和根域“example.com”
步骤3
如果尚未更改初始域上的名称服务器
提供商要指向cloudflare名称服务器,请立即这样做。你
可以在计算机上找到分配给您的cloudflare名称服务器
“DNS”->“cloudflare名称服务器”下的cloudflare面板
步骤4
转到cloudflare帐户上的“DNS”并删除所有记录(A,
CNAME、别名、TXT等。)
现在添加一条CNAME
记录。名称应为您的网站“www.example.com
”(带www),并应指向您的heroku应用程序example-example.herokuapp.com
步骤5
创建一个谷歌商业账户。然后跟着
谷歌给出的验证步骤
步骤6
登录admin.google.com
并转到“domains
”。如果你看不见
“域”单击“更多元素”。现在单击“更改重定向”
”并
使您的根域“example.com
”重定向到“www.example.com
”
步骤7
转到cloudflare面板并转到“DNS”,现在添加4个“A”记录。
-所有4条“A”记录都应该具有根域的名称'example.com'
,并且它们应该指向216.239.32.21
,
216.239.34.21
,216.239.36.21
,216.239.38.21
,这些都是ip
由谷歌提供的地址,使重定向工作
旁注
在cloudflare上,“A”记录状态需要设置为“仅DNS”
“CNAME”将状态记录到“DNS和HTTP代理(CDN)”
步骤8
在rails应用程序上,转到production.rb
,并确保
config.action\u mailer.default\u url\u options={host:
'https://example-example.herokuapp.com“}
设置为
config.action\u mailer.default\u url\u options={host:
'example.herokuapp.com'}
所以只需删除'https://'
而且config.force\u ssl
应该是false
完成后,确保将结果上传到heroku。
步骤9
在cloudflare上,转到“crypto”并确保SSL设置为“Flexible”,
如果没有,请立即更改,在cloudflare完成更改之前可能需要一些时间
祝贺你强>
在这一点上,您的站点应该已经启动并运行,并且为这两个站点工作
您的根域以及完整域
额外的
只有当你想通过GMAIL发送商务邮件时(例如。info@example.com)
在cloudflare上,转到“DNS”并添加5个“MX”记录
example.com
(您的根域)-指向aspmx.l.google.com
,使用优先级1
example.com
(您的根域)-指向alt1.aspmx.l.google.com
,具有优先级5
example.com
(您的根域)-指向alt2.aspmx.l.google.com
,具有优先级5
example.com
(您的根域)-指向alt3.aspmx.l.google.com
,优先级为10example.com
(您的根域)-指向alt4.aspmx.l.google.com
,优先级为10所有“MX”记录
,应将TTL
设置为“1小时
”
现在走出去,做最好的自己你好,sjagr,我有CloudFlare和Heroku的开放门票。今天下午晚些时候我有一个演示,所以我被卡住了,怀疑很快会从支持部门得到任何反馈。不幸的是,我们的帮助不会比他们快得多-他们拥有您的所有信息、配置和体系结构。我们所能做的就是猜测——这超出了这个平台的范围。如果演示如此紧急,也许你现在应该拿出20美元直接指向Heroku。不确定这是否意味着什么,但做了一个卷发