首页 文章

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

提问于
浏览
2

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

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

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

我在CloudFlare上经历了常见问题但没有成功 . 任何人都可以帮我解决我可能做错的事吗?

谢谢!

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

  • SSLv3,TLS握手,客户端问候(1):

  • SSLv3,TLS警报,服务器问候(2):

  • 错误:14077438:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1 alert内部错误

  • 关闭连接0卷曲:(35)错误:14077438:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1警告内部错误

1 回答

  • 0

    有点晚了,但这对我有用:

    Step 1

    制作Cloudflare帐户,并将购买的域名添加到cloudflare并传输DNS设置

    Step 2

    将您的域名添加到您的heroku面板 . 在heroku网站上,登录,转到“设置”,按“添加自定义域名” - 添加您的域名“www.example.com”和您的根域“example.com”

    Step 3

    如果您尚未在初始域名提供商处更改名称服务器以指向cloudflare名称服务器,请立即执行此操作 . 您可以在“DNS” - >“cloudflare名称服务器”下的cloudflare面板上找到分配给您的cloudflare名称服务器

    Step 4

    转到cloudflare帐户的“DNS”并删除所有记录(A,CNAME,ALIAS,TXT等) . 现在添加一个CNAME记录 . 该名称应该是您的网站'www.example.com'(使用www),它应该指向您的heroku app example-example.herokuapp.com

    Step 5

    创建Google Business帐户 . 并按照Google提供的验证步骤进行操作 .

    Step 6

    登录admin.google.com并转到“域名” . 如果您看不到“域名”,请点击“更多元素” . 现在点击“更改重定向”,然后将您的根域“example.com”重定向到“www.example.com” .

    Step 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,它们是由谷歌让重定向工作 .

    边注

    在cloudflare上,'A'记录状态需要设置为'DNS Only','CNAME'记录状态为'DNS和HTTP代理(CDN)'

    Step 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 .

    Step 9

    在cloudflare进入'crypto'并确保SSL设置为'Flexible',如果不是,请立即更改,可能需要一些时间才能完成cloudflare的更改 .

    CONGRATULATIONS !!!!!!!!!!!!!

    此时,您的站点应该已启动并运行,同时适用于您的根域以及完整域 .

    EXTRA

    只有你想通过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(您的root用户) domain) - 指向优先级为5的alt2.aspmx.l.google.com example.com(您的根域) - 指向优先级为10的alt3.aspmx.l.google.com example.com(您的根域) - 点至alt4.aspmx.l.google.com优先级为10注意:对于所有“MX”记录,TTL应设置为“1小时” .

    Now go out there and be the best version of yourself!!

相关问题