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

配置Nginx反向代理Gunicorn后公网仍可直接访问Gunicorn端口如何解决

问题原因
  • 你当前Gunicorn直接暴露公网的核心原因是启动命令中绑定了0.0.0.0:5000,该地址会监听服务器所有网卡的5000端口,包括公网网卡,因此外部可以直接访问到Gunicorn服务。
  • 你的Nginx反向代理配置已经指定了转发到http://127.0.0.1:5000/,也就是本地回环地址的5000端口,完全不需要Gunicorn监听公网网卡。
解决方案

关闭公网5000端口的思路是完全正确且安全的,推荐优先用修改Gunicorn绑定地址的方式实现,比额外配置防火墙更简单、不易出错:

  1. 修改Gunicorn启动命令,将绑定地址从0.0.0.0:5000改为本地回环地址:
gunicorn --bind 127.0.0.1:5000 wsgi:app
  1. 如果你是通过systemd、supervisor等工具托管Gunicorn服务,同步修改对应配置文件中的启动参数,再重启Gunicorn服务即可。
可选加固操作

如果需要额外增加安全层,可再通过防火墙规则封禁公网对5000端口的访问,双重保障:

  • 若使用ufw防火墙:执行ufw deny 5000/tcp
  • 若使用firewalld防火墙:执行firewall-cmd --permanent --remove-port=5000/tcp && firewall-cmd --reload
验证

修改完成后,公网访问服务器IP:5000会无法连通,而80端口的网站访问完全不受影响,反向代理功能正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 04:39:03