Chrome でとあるサイトを開こうとしたら ERR_UNSAFE_PORT のエラーでブロックされてしまったので対処。
経緯
Chrome でとあるサイトを開こうとしたら以下の画面が表示されました。
このサイトにアクセスできません http://example.jp:10080/ のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。
ERR_UNSAFE_PORT
先週は開けたのに……。
ちなみに Chrome のバージョンは 91.0.4472.77
。アップデートして現状最新版です。
仮対処 (没)
対処として該当サイトを許可リストに加えます。
「プライバシーとセキュリティ」→「サイトの設定」
「その他のコンテンツの設定」
「安全でないコンテンツ」
「許可」リストに「追加」
「サイトの追加」で該当サイトのドメインとポート (例: example.jp:10080/
) を入力し、追加します。
これで Chrome を再起動すると、閲覧できるようになりました。
仮対処2 (没・失敗)
Chrome が怒られたということは、 Edge も怒られるということになります。
バージョン 91.0.864.37
で同様にアクセスしたところ、以下の表示になりやはり接続できませんでした。
申し訳ございません。このページに到達できません http://example.jp:10080/ の Web ページに問題が発生しているか、新しい Web アドレスに完全に移動された可能性があります。
ERR_UNSAFE_PORT
文言が多少変わっていますが、エラーの内容としては同じです。
「Cookie とサイトのアクセス許可」→「セキュリティで保護されていないコンテンツ」
「許可」リストにサイトを追加
これで Edge も再起動してアクセスしてみましたが……改善されませんでした。
一応、アプリ起動時のショートカットアイコン等でパラメータに --explicitly-allowed-ports=10080
のような形で追記してあげると回避できるようですが、これを行うとショートカットを誤って消したときなどに今回の対処を忘れて嵌まりそうなので没。
調査・対処
以前 Firefox でも同じ現象が発生した ことを思い出し、調べてみました。
今回の対処は NAT Slipstreaming v2 と呼ばれる攻撃で 10080
ポート が使用されるため、ブラウザ側で攻撃を防ぐためにブロックした、という流れのようです。
そうであれば、「ブラウザにアクセスを許可するように登録」するよりも、サーバのポート番号を変更した方が良さそうです。
そこで、最終的には上述の仮対処はやめて、サーバの Listenポート を変更する方向で対処しました。
以前の記事の Firefox の network.security.ports.banned.override
の設定も削除しました。