ある特定のサイトに、他のPCからは接続できるのに特定のPCだけ接続できないという相談を受けました。
どうせウイルス対策ソフトがFWで止めてるんだろうと思ってFW止めてみたのですが変わらず、ブラウザをEdgeとChromeで変えてもダメでした。
ただ、pingを打つと問題なく到達しており、IPも表示可能なものと比べて同じで、DNSの問題でもないことがわかりました。
Proxyも設定されておらず、v6がらみかと思ってv6も切ってみたのですがやはり変化なしでした。
それで元々のURLを確認すると「http:」であったものが「https:」で表示しようとしていることに気が付きました。
SSLがらみの問題?と思ったのですが、「http:~」のURLを打ってもどうしても勝手にhttpsに変更してしまうのです。
ぐぐるとEdgeでhttp:をhttps:に変更するというのが2021年あたりにあったらしく、その設定を変更してみたのですがそれでも変化なしでした。
もう少しググってみたところ、他にもhttp:をhttps:に変更するHSTSという仕様があるんだそうです。
このHSTSの重要な点は
「今後もしこのドメインに http でアクセスしようとしたら、強制的に https で接続し直す」ようブラウザに伝えて、それをブラウザが覚えてしまう、ということです。
どうもこの特定サイトは最初にきっと設定に一部失敗して、このHSTSの設定をしてしまっており、運悪くその失敗した設定をしてあるときにアクセスしたこのPCだけが、その後もずっとhttpsで接続しようとしてしまっている状態になっていました。
ここの説明にあるように
chrome://net-internals/#hsts
に対してアクセスして「Delete domain security policies」で該当ドメインのHSTSの設定を削除したところ、その後は問題なくhttps:に変換されずにhttp:のまま表示されるようになりました。
これは知らないと絶対に解決できんわな…