Google Chromeがlocalhostをhttpsにリダイレクトしています


362

Chromeを使用してVisual Studioプロジェクトをデバッグすると、ブラウザーは私のWebアドレスに相当するhttpsにリダイレクトしようとします。WebプロジェクトでSSLを有効にしておらず、開始URLはhttp URLです。FireFoxまたはIEを使用してデバッグする場合、この問題は発生しません。

Chromeを再インストールしましたが、1日の間問題が解決しました。アドオンをダウンロードすることなく、問題は翌日に再び発生しました。

Chromeがlocalhostをhttpsにリダイレクトするのはなぜですか?

Network Inspect Shows:Request URL:data:text / html、chromewebdata Request Headers暫定ヘッダーが表示されますUser-Agent:Mozilla / 5.0(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML、like Gecko)Chrome / 36.0.1985.143 Safari / 537.36

これらのタブにはプレビューも応答データもありません。


Network Inspectorは何を表示していますか?
— c69 2014

4
ネットワーク検査ではほとんど何も表示されません。リクエストされているURLも表示されません。リクエストURL:data:text / html、chromewebdataリクエストヘッダー暫定的なヘッダーが表示されますCache-Control:no-cache Pragma:no-cache User-Agent:Mozilla / 5.0(Windows NT 6.3; WOW64)AppleWebKit / 537.36(KHTML、like Gecko )Chrome / 36.0.1985.143 Safari / 537.36
— Brett Mathe 2014

クロム63:スクロールして回答を
— 探し

私のクロムを再インストールするだけですべての問題が解決されます。今では私の.devになり、httpsにリダイレクトされなくなりました。私は..私は、以前は...そう多くの時間を無駄にすることを試みていることを望む
— タージ・カーン

10
最近この問題を抱えている人は、あなたが.devあなたのローカルdomanとして使用しようとしている場合、それはまったく新しい問題なので、これらの答えのどれももう機能しないと思います。Chrome 63以降...「Chromeは、プリロードされたHSTSを介して.devドメインをHTTPSに強制します」。そのため、これ以上自己署名SSL証明書はありません。どうやら.devは実際のドメインです。誰かわかったね。
— Trevor、

回答:


591

これはHSTSが原因であると考えています-http ://en.wikipedia.org/wiki/HTTP_Strict_Transport_Securityを参照してください

HSTSヘッダーを送信する他のローカルホストサイトがある(開発している)場合...

例えば。厳格な輸送セキュリティ:max-age = 31536000; includeSubDomains; プリロード

...次に、max-ageの値に応じて、localhostへの今後のリクエストはHTTPS経由で処理される必要があります。

これを回避するために、私は次のことを行いました。

  • Chromeのアドレスバーに「chrome:// net-internals /#hsts」と入力します
  • ページの一番下にはQUERYドメインのテキストボックスがあります-ローカルホストがブラウザに認識されていることを確認してください。「見つかりません」と表示されている場合、これはあなたが探している答えではありません。
  • そうであれば、上のテキストボックスを使用してlocalhostドメインを削除します
  • これで、サイトは古いプレーンHTTPを使用して動作するはずです。

これは永続的な解決策ではありませんが、少なくともプロジェクト間で機能するようになります。HSTSリストからlocalhostを完全に除外する方法を誰かが知っている場合は、私に知らせてください:)

更新-2017年11月

Chromeは最近、この設定を[ドメインの削除]セキュリティポリシーの下に移動しました

ここに画像の説明を入力してください

更新-2017年12月 .devドメインを使用している場合、Chrome(およびその他)がプリロードされたHSTSを介してHTTPSを強制するため、以下の他の回答を参照してください。


6
とてもイライラします。しかし、原因を見つけてうれしい。
— Zapnologica

21
「localhost」を検索しようとしましたが、「見つかりません」と表示されます
— Chin

2
私はこれが古い投稿であることを知っていますが、受け入れられた回答に従ってlocalhostをクエリしたときに、「見つかりません」を返す場合の解決方法はありますか?ここのすべてのコメントと回答ですべてを試しました。
— DarkW1nter 2017年

28
これはChromeの総ゴミです。おかしなlocalhostでHTTPSを強制的に開始したとき、彼らは私たちがローカルで開発することをどのように期待しますか?私は数か月間すべてを問題なく使用してきました。ある朝にログインして、このがらくたを処理します。これらの「修正」のどれも私のために働いていません。
— アリソン2017

50
localhostドメインが.dev 正しい場合は、@ Alisonが機能していないと思います。v.63の最近のリリースでは、「プリロードされたHSTSを介して.devドメインをHTTPSに強制する」ためです。そのため、適切な署名付きSSL証明書がない限り、.devは基本的にまったく機能しません。これ以上の自己署名証明書は許可されません。詳細。
— Trevor、

308

Chromeでも同じ問題が発生し、BigJumpのソリューションを使用しようとしましたが失敗しました。

このブログ(元はこのSuperUserの回答)に示されているように、ハードリフレッシュを強制することで問題を修正しました。

アドレスバーがhttpスキームを使用していることを確認してから、これらの手順を数回実行します。

  1. 開発者ツールパネルを開く(CTRL + SHIFT + I)
  2. リロードアイコンをクリックしたままにします/リロードアイコンを右クリックします。
  3. メニューが開きます。
  4. このメニューから3番目のオプション(「キャッシュを空にしてハードリロード」)を選択します

3
更新/再読み込みアイコンを右クリックして、ハード再読み込みメニューを表示することもできます
— avjaarsveld

3
このソリューションを機能させることができません。問題は、localhost:3000(私の場合)でハードリロードを行うことです。リロードの前にプロトコルを変更しようとしましたが、機能しません。
— john_omalley 2017年

1
ありがとうございました!!!これでstartup.csをめちゃくちゃにした場合、元のlocalhost:portを復元します... var options = new RewriteOptions()。AddRedirectToHttpsPermanent(); app.UseRewriter(options); }
— hubert17 2018

ハードリロードのために「CTRL + SHIFT + R」を押すことによって私のために働いた。
— LP。Gonçalvesの

クロムでは、CTRL + SHIFT + IではなくF12です
— Champ

190

新しい開発!(Chrome 63以降の場合)

あなたのローカルホストドメインが.devそうであるなら、私は以前に受け入れられて機能する答えはもはや適用されないと思います。これは、Chrome 63以降、ChromeはプリロードされたHSTSを介して.devドメインを強制的にHTTPSにするためです。

これが意味することは、.dev適切に署名されたSSL証明書がない限り、基本的にはまったく機能しません-自己署名証明書は許可されません!詳しくは、このブログ投稿をご覧ください。

したがって、この問題を今すぐ修正し、今後この問題が再発しないようにする.testことは、テスト/開発の目的でIETFによって予約されているため、推奨されるドメインの1つです。.localhostローカル開発にも使用できるはずです。


2
すべての.devドメインを.appに変更しましたが、同じ問題が発生します。問題が何であるかについてのポインタはありますか?
— ジェフ

5
@Jeff使用してみてください.test
— Vitalii

18
これは非常に迷惑です。確かに、私たちに開発ドメインの変更を強制しない方法がいくつかあるはずですよね?
— Emanuele Ciriachi 2017

5
交換する.devことにより、.testクロム63であまりにも私のために働いた
— Lekhnath

12
これらの直感に反するデフォルトはひどいです。開発環境のセットアップのデバッグに時間を費やしたり、何が問題なのかを推測したりして、すべてが問題なく、デフォルトで.devをHTTPSにリダイレクトするのがGoogle Chromeであることを発見する理由は何ですか。ロジックはどこですか。なぜ.devで、なぜ他のTLDではないのですか?絶対に直感的ではありません。
— Meglio

50

アディヤット・ムバラクをピギーバック

httpsで更新されたため、更新できませんでした。同じステップのいくつかに従います。

1. Open chrome developer tools (ctrl + shift + i)
2. Network Tab at the top
3. Click Disable cache checkbox at the top (right under network tab for me).
4. Refresh page (while the developer tools is still open)

私はソリューションのためにここに2回目です。どうもありがとう。
— CAMO

1
私は.localドメインを使用していますが、これは上記のHSTSソリューションが機能しなかったときに機能しました。
— DiegoSalazar 2017

これは、BigJumpとAdiyat Mubarakのソリューションを試した後、私にとってうまくいった唯一のものです。
— Alek Arsovski、2018

私もキャッシュを無効にする必要がありました。この問題は、Fiddlerをシャットダウンした後に発生し始めました。
— CounterFlame

47

私は同じ問題に直面していますが、Chrome Canaryでのみ解決策を探しています。この投稿を見つけました。

Chromeの次のバージョンの1つでは、.dev(および.foo)で終わるすべてのドメインが、プリロードされたHTTP Strict Transport Security(HSTS)ヘッダーを介してHTTPにリダイレクトされるようにします。

{ "name": "dev", "include_subdomains": true, "mode": "force-https" },
{ "name": "foo", "include_subdomains": true, "mode": "force-https" },

したがって、ドメインを変更します。


2
これは私が解決するためにここに来た問題です。男は今、私のローカル
— 開発

2
wikiからは.local、他のTLDよりも安全だと思いますが、ちょっと壊れそうです。私は.localhostcoz の使用も撤回しています。クロムが一部のネイティブリダイレクトを行うため、rproxyが機能しないようです。.testTDD / .test()メソッドなどで使用されるすべての文字列と名前空間が衝突するため、ぎこちないものの、最も安全に見えます
— dwelle

8
これで一日を失った。どうもありがとうございました
— Tonio

17
いまいましい、Chrome 63に更新したばかりで、.devの影響を受けています。WTF。それが有効なTLDであるかどうかは関係ありません。SSLを必要としないか、必要としない場合や、自分のサイトにSSLを使用させている場合は、無理に強制しないでください。
— dbinott 2017

6
わあ、これは私を怒らせます。一部の開発環境では、TLDを変更するほど簡単ではありません。私は今何時間も働いて、私が取り組んでいるもののためにこれを変えるために見ています。私が開発に使用したいのは、実際には彼らのビジネスではありません。
— Brett Thomas

18

Chrome 63(2017年12月以降)では、.dev(および.foo)で終わるすべてのドメインが、プリロードされたHTTP Strict Transport Security(HSTS)ヘッダーを介してHTTPSにリダイレクトされます。この詳細については、こちらをご覧ください。


2
^^同上。それは.app先週にも私たちのドメインに影響を与えました。.test長期的な解決策ではないと思いますが、一時的に切り替えています。
— russellmania

13

https://galaxyinternet.us/google-chrome-redirects-localhost-to-https-fix/から

オプションの修正はどれもうまくいきませんhttps://localhost:3000でした。

Reloadボタンをクリックしてホールドし、を選択しますEmpty Cache and Hard Reload。これは、localhost


これは私の最後では機能しません。他の解決策はありますか?
— Raju Paladiya 2018

最新のChromeが更新されたため、このソリューションは機能しなくなりました。
— user2167582

1
あなたが開いているツールバー開発者持っている場合、これは、すべてのドメイン上で動作するはずです
— Hussam

7

私もこの問題に取り組んできました。思われHSTSは、ドメイン名のみを対象としています。したがって、ローカルマシンで開発している場合は、IPアドレスを使用する方がはるかに簡単です。だから私はlocalhostから127.0.0.1に切り替えました


それは問題ありませんが、localhostを入力するたびに、localhostという単語が127.0.0.1に置き換えられることを確認できますか?
— Simon

ありがとうございました
— hedha

6

私は問題の根本を理解することはありませんでしたが、この問題を修正することができました。問題を解決したGoogle Chromeアプリのキャッシュフォルダーを削除しました。

C:\ Users [users] \ AppData \ Local \ Google \ Chrome


1
ブラウザの履歴やパスワードをすべて失いましたか?
— Zapnologica 2014年

7
問題は、HTTPSを使用してドメインにアクセスするとChromeに保存され、その後同じドメインに再度アクセスすると、自動的にHTTPSに切り替わることにあると思います。HTTPSを使用して任意のlocalhostサイトにアクセスすると、突然すべてのlocahostサイトがHTTPSにリダイレクトされるため、開発者としてのお尻の痛みです。
— デールK

1
@DaleBurrellあなたは正しくありません。これはHSTSが原因です:en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
— langpavel

6

これはキャッシュされたhttpsリダイレクトが原因で発生する可能性があり、Adiyat Mubarakの回答のように手動でキャッシュをクリアすることで修正できます。

ただし、localhostにアクセスしている場合は、開発者である可能性があります。その場合、「クラシックキャッシュキラー」などのキャッシュ消去chrome拡張機能が見つかります(例:https : //chrome.google.com/webstore/search/classic%20cache %20killer?hl = en)はさまざまな状況で役立ち、おそらくすでに1つインストールされています。

したがって、簡単な修正は次のとおりです。キャッシュキラーをインストールし(まだ持っていない場合)、それをオンにして、ページを再読み込みします。できた!


これで問題が解決しました
— makdu

6

私のような怠惰な人々(Chrome 67で作業)向けの遅延の速いソリューション。

「シークレットウィンドウ」オプション(CTRL + SHIFT + N)を使用して、ステルスモードで別のChromeウィンドウを起動するだけです。キャッシュを削除したり、詳細なChrome設定を調べたりする必要はありません。


1
他の提案で問題が発生しました。おそらく同じドメインで異なるサーバー上で、いくつかの異なるWebページを同時に開く必要があったためです。「シークレットウィンドウ」以外は機能しません。
— Klaws 2018

これは機能しますが、暫定ヘッダーのため、AJAXリクエストが非常に遅くなります。
— 小枝

5

これらはどれも私にとってはうまくいきませんでした。これは、ローカルURLを使用したChromeの更新(バージョン63.0.3239.84、linux)の後に発生し始めました。何があっても常にhttpsにリダイレクトします。これに数時間と多くの忍耐を失った

結局うまくいったのは、ドメインを変更することだけでした。

価値があるのは、ドメインは.appでした。たぶんそれは何かをするのですか?そして、それを.testに変更すると、クロムはリダイレクトを停止しました


5

この問題をChrome 79でどのように解決したか:

このURLを検索入力に貼り付けるだけです chrome:// flags /#allow-insecure-localhost

それは実験的な機能を使用することで私を助けました。



1

私の場合、プロジェクトパスをに設定し/Users/me/dev/project_root/、そこからnodeJS/ expressサーバーを実行していました。パスの名前を変更/Users/me/project_root(削除devプロジェクトへのパスから、問題は解決しました。

ほとんどの場合、この新しい規制に関係しています。

Chrome 63(2017年12月以降)では、.dev(および.foo)で終わるすべてのドメインが、プリロードされたHTTP Strict Transport Security(HSTS)ヘッダーを介してHTTPSにリダイレクトされます。

これについて詳しくは、こちらをご覧ください。

使用:

  • Google Chromeバージョン70.0.3538.110(公式ビルド)(64ビット)
  • nodeJS v9.2.0

1

これに対する簡単な解決策は、/etc/hostsファイルを編集し、プロジェクトごとに1つのエイリアスを確立することです。

127.0.0.1   project1 project2 project3

@bigjumpで言及されているHSTS応答を送信しない限り、これらのドメインレス名がHSTSで問題を起こすことはありません。また、プロジェクト間で変更を行った場合にログインセッションを維持できるという利点もあります。


0

Chromeの設定に移動し、[詳細設定]に移動します。[プライバシーとセキュリティ]セクションで、[閲覧データの消去]をクリックして、すべてのデータを消去します。私はこれらのステップに従いました、そしてそれは私のために働きました。それが誰かを助けることを願っています。


0

Chrome 63は、プリロードされたHSTSを介して.devドメインを自動的にHTTPSに強制します。
クイックフィックス:.devドメインを.localhostに変更するだけです。


0

これは解決策ではなく、単なる回避策です。

  1. ソリューションエクスプローラーでビジュアルスタジオプロジェクト(トップレベル)をクリックし、プロパティウィンドウに移動します。

  2. SSL有効をtrueに変更します。プロパティウィンドウに「SSL URL」として別のポート番号が表示されます。

  3. ここで、アプリケーションを実行(またはブラウザーで表示)するときに、アドレスバーでポート番号を手動でSSLポート番号に変更する必要があります。

これで、SSLリンクとして正常に機能します



-1

同じ問題を抱えている人のために、CTRL + SHIFT + DELETEを押してブラウザーのキャッシュ全体だけを削除することで解決しました。これで、HTTPプロトコルでlocalhost Webサイトにアクセスできます。


-2

@Adiyat Mubarakの回答がうまくいきませんでした。キャッシュをクリアしてハードリロードしようとすると、ページはまだhttpsにリダイレクトされました。

私の解決策:URLバーの右上隅(お気に入りのスターアイコンのすぐ左側)に、「x」が付いたアイコンがあります。それを右クリックすると、「安全でないスクリプト」についてのメッセージが表示されるので、それをロードするオプションがあります。それを行う。


このオプションの名前、またはそれを見つける他の場所を知っていますか?URLバーにショートカットが表示されません。
— Carolyn Conway

@CarolynConwayそれが何と呼ばれているのかわかりません。私の特定の問題に対してのみ表示される可能性があります。
— cph2117 2017

-2

別のオプションは、https://github.com/rchampourlier/tunnelssのようなものを使用することです

確かにそれは別の依存関係/セットアップを追加しましたが、それはまた、devでのhttpsのテストを可能にします。

私はRVMを使用していますが、トンネルを機能させるために使用する必要がsudo gem install tunnelssあり、sudo tunnelss


-4

それが今日(17-3-2018)の最速のソリューションです。

すべてのChromeタブ/ウィンドウを閉じて、コマンドラインで次のように実行します(またはショートコードとして追加します)。

"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ignore-certificate-errors
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.