2016-04-24 2 views
4

SSLでサービスするように私のサイトを切り替えただけですが、正しい生成URLでDjangoがピックアップするのに問題があります。前と同じである -Djangoは静的ファイルのURLからhttpsを削除するようです - なぜですか?

STATIC_URL設定は、私は、テンプレートで{% static 'css/file.css' %}を行うと、パスはhttp://example.com/assets/static/css/file.cssとして出てくるhttps://example.com/assets/static/

の形態です。私は正しい設定で、コミット最新にしていたことを確認し

  • :私はこれを改善しようとした

    物事。

  • python manage.py collectstatic蘭nginxの/ gunicorn/memcachedの再起動
  • 削除しただけの場合も同じことがMEDIA_URLで発生

*.pyc -files、。しかし、私が対話型のシェルに落としてモデルをインポートし、アップロードされたイメージファイルのプロパティー(例えば.url)をプリントアウトすると、正しいhttps:// -prefixが出力されます。

実行中のDjango 1.9.5、静的ファイルの場合はCachedStaticFileLoader、Gunicorn(v 19.4)、およびテンプレートのキャッシュ。キャッシュエンジンはmemcachedです。

何が起こっているかについてのアイデアはありますか?

編集STATIC_URLMEDIA_URLの設定の変更は、他のコードの変更が動作するように見えるが、それは、そうです、全く拾われていません。私は何が起こっているのか分かりません...

+0

'os.environ ['HTTPS'] =" on "'あなたは相対的な 'STATIC_URL'を使って試しましたか?また、httpからhttpsへのリダイレクトは、gginornのどちらかで、nginxのどちらかで、静的に提供する必要があります – aershov

+0

NginxからHTTPSステータスをDjangoに伝えるために 'SECURE_PROXY_SSL_HEADER'設定を使用しています。 ( 'request.is_secure'の結果をテンプレートに出力でき、' True'を返します)。 envに 'HTTPS = on'を追加しようとしましたが、それは私の問題には影響しませんでした。 'MEDIA_URL'と' STATIC_URL'の値が相対的なものではなく、まったく選択されていないようで、何か他のことが起こっていると思われます。 :-( – Emil

答えて

2

回答は、設定変更が一切受け付けられていないということでした.Gunicornプロセスは何とか再開しようとしたときにハングアップしていました。古いプロセスが進行しています。テンプレートなどの変更は(pythonファイルではないので)ピックアップされましたが、STATIC_URLは決して更新されませんでした。

愚かな単純な答え:再起動ALL THE THINGS。

関連する問題