华为云服务器部署上线flask后端项目

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

这是流程图:

以下是外部通过端口访问服务的标准流程,涵盖从本地开发到公网访问的全链路步骤(Deepseek生成,我不懂):


一、服务端准备阶段

1. 服务部署
  • 启动服务:确保服务监听正确端口(如Flask默认5000)

    if __name__ == "__main__":
        app.run(host='0.0.0.0', port=5000)  # 必须绑定0.0.0.0

2. 本地验证
  • 本地访问测试

    curl http://127.0.0.1:5000/books


二、网络层配置

1. 防火墙放行端口
  • 服务器防火墙

    # Ubuntu
    sudo ufw allow 5000/tcp
    sudo ufw reload
    
    # CentOS
    firewall-cmd --zone=public --add-port=5000/tcp --permanent
    firewall-cmd --reload

  • 云服务器安全组(以阿里云为例):

    1. 登录ECS控制台 → 安全组配置

    2. 添加入站规则:

      • 协议类型:TCP

      • 端口范围:5000/5000

      • 授权对象:0.0.0.0/0

2. 端口连通性测试
  • 外部机器测试

    telnet 服务器IP 5000
    # 成功显示 Connected to 服务器IP


三、访问路径配置

1. 直接访问(开发环境)
  • 访问地址

    http://服务器IP:5000/books

    /books是个人写的API地址,这个根据个人项目不同而不同

  • 限制

    • 需显式携带端口号

    • 不支持HTTPS

    • 不符合生产环境规范

2. 反向代理(生产推荐)
  • Nginx配置示例

    nginx

    server {
        listen 80;
        server_name api.yourdomain.com;
    
        location / {
            proxy_pass http://127.0.0.1:5000;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }

  • 访问地址

    http://api.yourdomain.com/books

3. HTTPS增强
  • SSL证书申请

    certbot --nginx -d api.yourdomain.com

  • 访问升级

    https://api.yourdomain.com/books


四、域名解析(可选)

  1. DNS记录配置

    • 记录类型:A记录

    • 主机记录:api

    • 记录值:服务器IP

    • TTL:600秒

  2. 生效验证

    dig +short api.yourdomain.com
    # 应返回服务器IP


五、全链路验证

测试类型测试命令预期结果
本地回路测试curl http://127.0.0.1:5000返回业务数据
内网访问测试curl http://[内网IP]:5000返回业务数据
公网端口探测telnet 公网IP 5000显示Connection opened
域名解析检查nslookup api.yourdomain.com解析到正确IP
HTTPS证书验证openssl s_client -connect api.yourdomain.com:443显示证书链信息

六、常见故障排查

  1. Connection refused

    • 检查服务是否绑定0.0.0.0

    • 确认服务进程存活 ps aux | grep flask

  2. Timeout

    • 检查安全组/防火墙规则

    • 确认运营商未封禁端口(常见于80/443外的端口)

  3. SSL_ERROR

    • 确保证书链完整

    • 检查证书与域名匹配性


七、生产环境建议

  1. 端口规范

    • 对外服务统一使用80/443端口

    • 通过Nginx转发到实际服务端口

  2. 监控配置

    • 对服务端口设置存活检测

    • 配置流量告警阈值

  3. 安全加固

    • 禁用非必要端口

    • 启用WAF防护

         通过以上流程,可确保外部用户通过 https://api.yourdomain.com 安全访问服务,无需感知实际服务端口。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值