You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Cloudflare搭配Railway.app部署Django时SSL握手失败,求教源证书安装方法

解决Cloudflare与Railway Django应用SSL握手失败问题

方案一:用Railway自动签发自定义域名证书(推荐)

Railway会自动给绑定的自定义域名生成有效SSL证书,操作步骤:

  • 先去Godaddy的域名DNS设置,把你的域名A/CNAME记录指向Railway应用的默认域名(比如xxx.railway.app),同时把Cloudflare对应DNS记录的代理状态改成DNS only,避免影响证书验证。
  • 打开Railway应用控制台,进入「Settings」→「Domains」,点击「Add Domain」输入你的自定义域名。
  • 等待Railway自动完成域名验证并签发Let's Encrypt证书,大概几分钟就能搞定。
  • 证书生效后,把Cloudflare的SSL/TLS模式改回Full,再把DNS记录的代理状态切回「Proxied」。

方案二:手动安装Cloudflare源证书

如果要使用Cloudflare的源证书,按以下步骤操作:

  • 登录Cloudflare控制台,进入你的域名→「SSL/TLS」→「Origin Server」,点击「Create Certificate」。
  • 保持默认设置(可以选最长15年有效期),点击「Next」,复制生成的Origin Certificate(PEM格式文本)和Private Key内容。
  • 回到Railway应用控制台,进入「Settings」→「Variables」,添加两个环境变量:
    • SSL_CERT_FILE:粘贴刚才复制的Origin Certificate内容
    • SSL_KEY_FILE:粘贴刚才复制的Private Key内容
  • 重启Railway上的Django应用,让新的环境变量生效。
  • 确认Cloudflare的SSL/TLS模式为Full,DNS记录处于「Proxied」状态。

额外检查项

  • 确认Django settings.py里的ALLOWED_HOSTS包含你的自定义域名,比如:ALLOWED_HOSTS = ['yourdomain.com', 'www.yourdomain.com', 'xxx.railway.app']
  • 查看Railway应用的部署日志,排查是否有证书加载相关的报错,方便定位问题。

内容的提问来源于stack exchange,提问作者Huzaifa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:52:17