gpt4 book ai didi

python - Django | nginx 提供的静态文件不被客户端使用

转载 作者:太空宇宙 更新时间:2023-11-03 21:21:04 26 4
gpt4 key购买 nike

我有一个 django 应用程序,具有以下静态文件设置:

STATIC_DIR = os.path.join(BASE_DIR, 'static')
STATIC_URL = '/static/'
STATICFILES_DIRS = [STATIC_DIR,]
STATIC_ROOT = '/opt/static/'

我正在使用以下gunicorn命令运行django:gunicorn evee.wsgi -b 0.0.0.0:8000

我已经使用以下conf配置了nginx来提供静态文件和ssl:

  server {
keepalive_timeout 5;
listen 443 ssl;
server_name api.home.com;
client_max_body_size 4G;
error_page 500 502 503 504 /500.html;

# path for static files
root /opt;

location / {
# checks for static file, if not found proxy to app
try_files $uri @proxy_to_app;
}

location @proxy_to_app {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Ssl off;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Port 80;
proxy_set_header X-Forwarded-Proto $scheme;
# we don't want nginx trying to do something clever with
# redirects, we set the Host: header above already.
proxy_redirect off;
proxy_pass http://evee:8000;
}
}

有趣的是我能够在客户端看到 CSS。例如,对 https://secapi.ril.com/static/admin/css/base.css 的请求成功并返回 200 响应。我可以在提到的 URL 上查看所有静态文件,但 django 似乎没有使用它们。尝试过更改客户端以及私有(private)模式。

我做错了什么吗?我上次检查时这是有效的。

最佳答案

尝试在 nginx 配置文件中添加静态文件路径:

location /static/ {
alias /opt/static/;
}

此处提及静态文件夹的完整路径。我猜你的情况是 /opt/static/

关于python - Django | nginx 提供的静态文件不被客户端使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54248020/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com