如何为Flask站点配置自定义域名(Freenom购买+Cloudflare部署)
Freenom域名绑定Flask站点+Cloudflare部署操作流程
1. 切换Freenom域名的DNS服务器到Cloudflare
- 登录Cloudflare账号,点击「添加站点」,输入你在Freenom购买的域名,选择免费套餐完成站点添加
- Cloudflare扫描完域名现有记录后,会生成2个专属的DNS服务器地址,记录这两个地址
- 登录Freenom后台,进入对应域名的管理页,找到「Nameservers(域名服务器)」设置,选择自定义DNS,把刚才记录的两个Cloudflare DNS地址填进去保存,等待DNS生效,Cloudflare后台会提示生效状态,通常耗时几分钟到48小时不等
2. Cloudflare DNS解析配置
- 进入Cloudflare对应域名的「DNS」设置页,添加解析记录:
- 若Flask站点部署在带公网固定IP的服务器,添加A记录:名称填要使用的域名前缀(根域名填
@,二级域名比如www就填www),内容填服务器公网IP,代理状态选择「已代理(橙色云图标)」,TTL设置为自动 - 若Flask站点托管在支持CNAME的平台,添加CNAME记录:名称填对应域名前缀,内容填托管平台给出的CNAME地址,代理状态同样选「已代理」
- 若Flask站点部署在带公网固定IP的服务器,添加A记录:名称填要使用的域名前缀(根域名填
- 进入Cloudflare「SSL/TLS」设置页,加密模式按需选择:服务器未配置SSL证书选「灵活」,服务器已有有效SSL证书选「严格」,可直接开启全站HTTPS访问
注意:开启Cloudflare代理后,可在服务器安全组仅放行Cloudflare的IP段,避免源站IP暴露被直接攻击
3. Flask服务适配自定义域名
3.1 服务器直接部署(Gunicorn/Nginx部署场景)
修改Nginx配置文件,更新server_name为你的自定义域名,参考配置如下:
server { listen 80; server_name 你的自定义域名; # 例如example.tk location / { proxy_pass http://127.0.0.1:5000; # 替换为你的Flask服务实际监听地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
修改完成后执行nginx -s reload重载配置即可。
3.2 托管平台部署场景
直接进入托管平台的域名绑定设置页,添加你的自定义域名即可,无需修改Flask服务配置。
4. 配置验证
等待所有配置生效后,在浏览器输入自定义域名,确认可以正常访问Flask站点,同时地址栏显示HTTPS加密标识即配置完成。
内容的提问来源于stack exchange,提问作者sk.anu
相关产品推荐
相关产品推荐

