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

Docker中Flask+Nginx+uWSGI集成出现404 Not Found问题求助

解决Docker中Flask+uWSGI+Nginx的404问题

问题根源

你当前的Nginx配置会把完整的/sample路径转发给Flask容器,但你的Flask应用只配置了/路由,Flask找不到对应路径所以返回404。从日志能看出,Flask接收到的请求路径与定义的路由不匹配,导致404错误。

修复方案(二选一)

方案1:修改Flask路由匹配/sample

直接调整Flask应用的路由,匹配/sample路径:

from flask import Flask

app = Flask(__name__)

@app.route("/sample")
def index():
    return "Welcome to the site"

if __name__ == "__main__":
    app.run()

方案2:修改Nginx配置重写请求路径

如果不想改动Flask代码,可在Nginx配置中添加路径重写逻辑,将/sample前缀去除后再转发给Flask:

server {
    listen       80;

    location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

    location /sample {
        include uwsgi_params;
        uwsgi_pass flask:8000;
        rewrite ^/sample(.*)$ $1 break;
        uwsgi_param SCRIPT_NAME '';
    }
}

验证

修改完成后重启Flask和Nginx容器,执行curl http://localhost/sample即可正常获取Flask应用的响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 07:05:22