2017-04-06 6 views
1

443でリッスンしているuginiusアプリケーションサーバーにトラフィックを転送しているサイトを有効にしたnginxサーバーがあります。管理ページにアクセスしてログインできますが、静的ファイルは提供されません。私はpython3 manage.py collectstaticを実行しました。 letsencryptでSSLを追加する前にすべて機能しました。 nginxのアクセスログでこれを取得:スタティックファイル404がsslでエラーに見つかりません - 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; 
    } 
} 

私は何をしないのですか?

+0

サーバでcollectstaticコマンドを実行して、静的ファイルが指定されたフォルダに収集されるようにしてください。 –

+0

コマンド 'python3 manage.py collectstatic'が実行されました。 '/ home/ubuntu/api/staticfiles'にファイルがあります。 – pitchdiesel

答えて

0

aliasステートメントが間違っています。 locationの値とaliasの値の両方は、/で終わるか、どちらでも0-で終了しないでください。

また、の値は、aliasの値がlocationの値で終わるものを使用してください。詳細は、this documentを参照してください。例えば

location /static/ { 
    alias /home/ubuntu/api/staticfiles/; 
} 
location /media/ { 
    root /home/ubuntu/api; 
} 
0

これが働いた:正しい方向に私を指しているため、@リチャード・スミスへ

location /static { 
    autoindex on; 
    alias /home/ubuntu/api/staticfiles; 
} 

感謝を!

関連する問題