Nginx 反向代理 Flask 静态文件 (CSS, PNG) 404 错误解决
要解决 Flask 静态文件无法访问的问题,需要在 Nginx 的配置文件中进行一些设置。以下是一种可能的解决方案:
- 打开 Nginx 的配置文件,可以在
/etc/nginx/nginx.conf或/etc/nginx/conf.d/default.conf中找到。 - 在 server 块中添加以下配置:
location /static/ {
alias /path/to/your/flask/app/static/;
}
将/path/to/your/flask/app/static/替换为你的 Flask 应用程序中静态文件的实际路径。
3. 重新启动 Nginx 服务:sudo service nginx restart。
这样,Nginx 将会拦截所有以/static/开头的请求,并将其映射到 Flask 应用程序中的静态文件目录。确保静态文件目录的权限设置正确,以便 Nginx 可以访问文件。
另外,你提到的 Flask 模板中的 CSS 链接也需要进行调整。在 Windows 上,url_for方法生成的 URL 使用的是反斜杠\作为路径分隔符,而 Nginx 需要使用正斜杠/。因此,你需要将模板中的 CSS 链接改为:
<link rel='stylesheet' type='text/css' href='{{ url_for('static', filename='css/index.css').replace('\\', '/') }}'>
这样生成的 URL 将使用正斜杠,以便 Nginx 能够正确解析。
原文地址: https://www.cveoy.top/t/topic/pfSE 著作权归作者所有。请勿转载和采集!