Google Chrome 95.0.4638.54 アップデートしたらWebサーバが表示されない

Google Chrome バージョン: 95.0.4638.54(Official Build) (64 ビット)にアップデートしたら、いくつかのWebサーバの参照ができなくなった。ブラウザーには次のようにエラーメッセージが現れる。

ERR_NAME_NOT_RESOLVED

ERR_NAME_NOT_RESOLVED

Google Chrome以外のすべてのアプリケーションは正常にネットワークは動作しているので、システム的には問題がない。つまりGoogle Chromeだけ固有の問題である。そして ERR_NAME_NOT_RESOLVED は DNS 周りの問題である。

こっから先は、まったく手探り。システムのDNS周りも含め何やってもダメ。

そこでwiresharkを使いDNSのクエリをチェックしてみた。するとpublic.dns.iij.jpにリクエストを送りつけている。これはDOH (DNS-over-HTTPS)のサイトである。しかも、他のサイトをChromeからアクセスしているのにDNSのクエリがまったく発行されていない。これだ。「設定」「プライバシーとセキュリティ」「セキュリティ」を選ぶと「セキュアDNSを使用する」が現れ、そこには「IIJ(Public DNS)」が選択されていた。

IIJ Public DNS

これをGoogleに変更すると一発で解決した。

Google Public DNS

解決したのはいいが、本当のトラブルはどこにあるかが問題である。そういえば…むかし日本の公官庁のサイトをアクセスするとIPv6のアドレスが帰ってきてアクセスできないのを思い出した。DNSがらみで、かつ、他のサイトは問題ないのに、日本の公官庁の一部のサイトだけアクセスできないというのが、今回の一部のサイトは問題なくアクセスできる、という症状に似ている。

長年の経験と勘からDOHのサーバーをIIJにしてシステムのIPv6をオフにしたら…動いた。一々IPv6をオンにしたり、オフにしたりするのは面倒なのでDOHサーバをGoogleにした。

実は家にあるNTT東日本の光ルータが古くてIPv6を通過させることができない環境なのである。取り替えればいいのだが、レンタル品なので、手続きが面倒でそのまま。困ることはなかったし(少なくとも今日までは)。自分以外でも問題がありそうなものだが、世の中の大半の人はIPv6で問題ないのだろうか。それともシステムレベルでIPv6をオフにしているのだろうか。

というわけで、もし、Google Chrome バージョン 95.0.4638.54 にあがってDNSエラーのようなメッセージが出て接続できない場合は、DNS-over-HTTPSの設定を疑ってみると良いだろう。

CentOS Stream release 8 の gem で passenger のデフォルトをイントールしたらエラーになった

CentOS Stream release 8 + ruby 2.7 上 passenger をデフォルトでインストールしようとすると6.0.10が選択されインストール途中でエラーになる。バージョンを1つ落として6.0.9にしたらうまくいった。今はこんな感じ。ちなみにrubyのデフォルトは2.5だが、こちらの環境では2.7にしている。


$ cat /etc/redhat-release 
CentOS Stream release 8

$ ruby -v
ruby 2.7.3p183 (2021-04-05 revision 6847ee089d) [x86_64-linux]

$ gem list | grep passenger
passenger (6.0.10, 6.0.9)

$ gem --version
3.1.6

$ g++ --version
g++ (GCC) 8.5.0 20210514 (Red Hat 8.5.0-3)