プロキシ環境下で404などのHTTPレスポンスステータスコードに応じてカスタムエラーページ(プロキシ独自のエラーページ)を表示する場合において、ブラウザの機能が原因で
サイトにアクセスできず、エラーが起こる恐れがあります。
エラーが発生する原因
数年前から、EdgeやChromeがHTTPSファーストモードが標準化する動きとなっています。
HTTPサイトを開く前に警告を表示するなどHTTPSファーストな機能が追加されていますが、直近のアップデートで、ブラウザがHTTPSにアップグレードする機能が追加されました。
これは、HTTPレスポンスヘッダーにStrict-Transport-Securityが指定されているサイトはにおいて、HTTPSにリダイレクトされる(HSTS)機能とは別に、ブラウザ側でHTTPSが有効なサイトはHTTPSにアップグレードされる機能のことです。
これまで、検証機能(flags)として標準はdisableな機能でしたが、この度、正式リリースし標準がenableな機能になりました。
それにより、カスタムエラーページを返す仕様なプロキシの場合、
ブラウザ側がカスタムエラーページをHTTPS対応と判別し、結果としてサイトにアクセスできないといった事象が発生します。
エラー原因の機能
の HttpsUpgradesEnabledという機能です。
上記、Chromeの仕様ですがEdgeについては、公式ドキュメントで記載が見つかりませんでしたが、同様の内容です。
Flagsでは、
- chrome://flagsのHTTPS Upgrades
- edge://flagsのAutomatic HTTPS
が該当します。
エラーの対処法
レジストリにて、自身のPCまたはポリシー配信できます。
Google Chrome
- レジストリのパス
コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
- レジストリの名前
HttpsUpgradesEnabled
- 値 (REG_DWORD)
0
1または未定義の場合、自動でHTTPSアップグレードする。
0の場合は、HTTPSアップグレードしない。
Edge
- レジストリのパス
コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge
- レジストリの名前
HttpsUpgradesEnabled
- 値 (REG_DWORD)
0
には、automatichttpsdefaultで制御できる記述はありますが、こちらは機能しませんでした。そして、記述が一切ないHttpsUpgradesEnabledによって制御できました。
おわりに
ChromiumベースのEdgeで設定方法が見つからない場合は、Chromeと同じように設定して検証したらうまくいくケースが意外とあるのかもしれないですね。
あくまで、派生ディストリビューションであって、Edgeは独自の方針で開発・メンテナンスを行っているのかと思っていました。(実際は不明ですが)
ブラウザがHTTPSファーストが標準化されていて、
検索エンジンのSEOでもHTTPは不利になっている中でもHTTPS非対応なサイトは
数多く存在しており、しかも、それらを利用するユーザもまだまだ多いです。
セキュリティ担保のためにも、この機能は有効にしたいところですが、まだ実用的ではないです。
便利ツールのご紹介
Amazonリンク短縮URLジェネレーター
Amazonの冗長的なURLを短縮するツールです。
文書やメールなどで、商品リンクを貼りたいときにご活用いただけます。
https://hasethblog.com/amazonurlgenerator/
短縮せずにリンクを共有 | 短縮してリンクを共有 |
Amazon商品QRコードメーカー
Amazonの商品リンクをQRコード化するツールです。
写真フォルダにQRを保存、印刷し定期的に商品を購入することができます。
QRコードを冷蔵庫に貼り、定期便に活用!
写真フォルダに保存し、長押しをしてリンクへ移動!
コメント