Nginx 反向代理 Flask 静态文件 (CSS, PNG) 404 错误解决方案
根据你提供的配置,你需要做一些更改来解决这个问题。首先,你需要确保 Flask 应用程序正确地提供静态文件。你可以在 Flask 应用程序中添加以下代码来配置静态文件夹:
from flask import Flask
app = Flask(__name__, static_folder='static')
在这个例子中,'static' 文件夹位于与 Flask 应用程序相同的目录中。如果你的静态文件夹位于不同的位置,你需要相应地更改 'static_folder' 的值。
接下来,你需要更新 Nginx 配置文件来正确地代理静态文件。你可以使用 'try_files' 指令来检查静态文件是否存在,如果不存在则将请求转发到 Flask 应用程序。以下是一个示例配置:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://192.168.123.48:5555;
}
location /static {
alias /path/to/static/folder/;
try_files $uri $uri/ @proxy;
}
location @proxy {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://192.168.123.48:5555;
}
在这个配置中,'/static' 路径被代理到了指定的静态文件夹位置。如果请求的静态文件不存在,Nginx 会将请求转发到 '@proxy' location 中,并将其代理到 Flask 应用程序。
确保将 '/path/to/static/folder/' 替换为你实际的静态文件夹路径。
完成这些更改后,重新加载 Nginx 配置文件并重新启动它。现在,你应该能够在浏览器中正确访问静态文件了。
原文地址: https://www.cveoy.top/t/topic/pfSw 著作权归作者所有。请勿转载和采集!