443에서 수신 대기하고 uWSGI를 사용하는 내 django 앱 서버로 트래픽을 전달하는 내 사이트가 활성화 된 nginx 서버가 있습니다. 관리자 페이지로 이동하여 로그인 할 수 있지만 정적 파일은 제공되지 않습니다. 나는 python3 manage.py collectstatic
을 만났습니다. letsencrypt
으로 SSL을 추가하기 전에 모든 것이 작동했습니다. 의 nginx 액세스 로그에서이 방법 :ssl에서 정적 파일 404 오류를 찾을 수 없습니다. - Django + uWSGI + nginx
"GET /static/admin/css/base.css HTTP/1.0" 404
여기 내 리버스 프록시의 nginx 사이트 설정입니다 :
upstream staging_app_server {
server 52.52.52.52;
}
server {
listen 80;
server_name staging.site.com;
rewrite ^/(.*) https://staging.site.com/$1 permanent;
}
server {
listen 443;
server_name staging.site.com;
include snippets/ssl-staging.site.com.conf;
include snippets/ssl-params.conf;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
access_log /var/log/nginx/staging.access.log;
location/{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://staging_app_server;
proxy_redirect http://staging_app_server https://staging_app_server;
}
location ~ /.well-known {
allow all;
}
}
그리고 nginx를 설정 응용 프로그램 서버 :
server {
listen 80;
server_name staging.site.com;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
alias /home/ubuntu/api/staticfiles;
}
location /media/ {
alias /home/ubuntu/api/media;
}
location/{
include uwsgi_params;
uwsgi_pass unix:/run/uwsgi/api.sock;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_param Host $host;
uwsgi_param X-Real-IP $remote_addr;
uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for;
uwsgi_param X-Forwarded-Host $server_name;
uwsgi_param X-Forwarded-Proto $scheme;
}
}
나는 무엇을 놓치고?
서버에서 collectstatic 명령을 실행하여 지정된 폴더에 정적 파일이 수집되기를 바랍니다. –
'python3 manage.py collectstatic' 명령이 실행되었습니다. '/ home/ubuntu/api/staticfiles'에 파일이 있습니다. – pitchdiesel