Djangoの「You’re accessing the development server over HTTPS, but it only supports HTTP.」というエラー

Djangoのsettings.pyに

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
SECURE_SSL_REDIRECT = True

を追加したらローカル環境でページが開けなくなった。※ブラウザはChromeを利用

上のコードはhttps接続用のものでローカル環境だとエラーになるらしいのだけれど、Herokuでアプリが上手く動かない時にいろいろ試している時に追加した一文をコメントアウトするのを忘れていて、この事態に陥る

Djangoのrunserverはhttpsに対応していないのでhttpでアクセスしてねということらしいのだけどChromeでIPを叩いてもどうしてもhttps接続しようとしてくる。何が何でも安全に接続したいようだ…。

なんでもHSTSという機能が原因らしく履歴を削除したり

chrome://net-internals/#hsts

上のURLからChromeの設定でDelete domain security policiesからhttp接続したいのにhttps接続してしまう対象のドメインを削除したら改善するというので試してみたが改善なし。

あとはChromeを再インストールするという手もあるようだけれど、さすがにめんどくさい。

1時間ほどあれこれ試して、ふと、我に返る。こんなことに時間を掛けるくらいならコードを書こう。だってシークレットウィンドウなら開けるし、ということでシークレットウィンドウだと問題なく開けるのでそれで対応することにした。

Write a Comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


Close