Dokku部署Ruby示例应用时访问出现Cloudflare 521错误求助
Dokku部署Ruby示例应用时访问出现Cloudflare 521错误求助
嘿,我之前也碰到过类似的Cloudflare 521错误,结合你描述的情况,咱们一步步排查看看:
先绕开Cloudflare验证源站可用性
直接在浏览器里访问服务器的公网IP,或者修改本地hosts文件把ruby-getting-started子域名指向服务器IP,看看能不能正常打开应用。如果直接访问IP也不行,那问题出在Dokku或者服务器本身;如果直接访问没问题,那就是Cloudflare的配置环节出了问题。检查Dokku应用的端口映射与监听状态
- 执行
dokku proxy:report ruby-getting-started查看应用的端口配置,确认Dokku是否正确将应用端口映射到主机的80/443端口(如果启用了HTTPS)。 - 用
ss -tulpn或者netstat -tulpn命令检查服务器上80和443端口是否被Dokku的nginx进程监听。如果端口没被监听,可能是Dokku的代理服务未启动,或者应用部署后未正确绑定端口。
- 执行
确认服务器防火墙与云安全组配置
- 检查服务器本地防火墙(比如ufw、iptables)是否开放了80和443端口,允许外部流量访问。可以用
ufw status查看ufw的规则状态。 - 如果是云服务商的droplet(比如DigitalOcean),还要登录云平台控制台检查安全组规则,确保80/443端口的入站流量是允许的。
- 检查服务器本地防火墙(比如ufw、iptables)是否开放了80和443端口,允许外部流量访问。可以用
排查Cloudflare的域名与SSL配置
- 确认A记录的目标IP是服务器的正确公网IP,且Cloudflare的橙色代理云图标处于启用状态(如果需要Cloudflare代理流量)。
- 查看Cloudflare的SSL/TLS设置,如果还没给Dokku应用配置SSL证书,建议先将SSL模式设置为「灵活」,避免因证书不匹配导致连接失败,等后续配置好证书再切换为「严格」模式。
重新检查Dokku应用的运行状态
- 执行
dokku ps:report ruby-getting-started查看应用进程是否正常运行,有没有出现崩溃、未启动的情况。 - 用
dokku logs ruby-getting-started -t实时跟踪应用日志,然后再次访问域名,看看是否有新的日志输出——有时候静态日志不会实时刷新,实时跟踪更容易捕获请求信息。
- 执行
按照这些步骤排查下来,应该能定位到问题根源。如果某一步出现异常,随时告诉我具体的输出情况,咱们再深入分析~
备注:内容来源于stack exchange,提问作者Nathan Wailes
相关产品推荐
相关产品推荐

