要解决 Flask 静态文件无法访问的问题,需要在 Nginx 的配置文件中进行一些设置。以下是一种可能的解决方案:

  1. 打开 Nginx 的配置文件,可以在/etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf中找到。
  2. 在 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 能够正确解析。

Nginx 反向代理 Flask 静态文件 (CSS, PNG) 404 错误解决

原文地址: https://www.cveoy.top/t/topic/pfSE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录