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_URL
とMEDIA_URL
の設定の変更は、他のコードの変更が動作するように見えるが、それは、そうです、全く拾われていません。私は何が起こっているのか分かりません...
'os.environ ['HTTPS'] =" on "'あなたは相対的な 'STATIC_URL'を使って試しましたか?また、httpからhttpsへのリダイレクトは、gginornのどちらかで、nginxのどちらかで、静的に提供する必要があります – aershov
NginxからHTTPSステータスをDjangoに伝えるために 'SECURE_PROXY_SSL_HEADER'設定を使用しています。 ( 'request.is_secure'の結果をテンプレートに出力でき、' True'を返します)。 envに 'HTTPS = on'を追加しようとしましたが、それは私の問題には影響しませんでした。 'MEDIA_URL'と' STATIC_URL'の値が相対的なものではなく、まったく選択されていないようで、何か他のことが起こっていると思われます。 :-( – Emil