HTTPSで参照したときにOpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

ネットワークインタフェイスが複数あるウェブサーバがあります。それぞれのインタフェイスが以下のようなアドレスを持っていたとします。

  • 172.16.0.1
  • 172.16.0.2

でもって /etc/hosts にはひとつ目のアドレスだけが書いてあります。

172.16.0.1  www.example.com

ウェブサーバでは https://www.exapmle.com という仮想ホストが設定してあるときに、別ホストで www.example.com を 172.16.0.2 で名前解決して https でブラウズすると、タイトルのエラーになる。
自分が思っているアドレス(/etc/hostsに書いてあるアドレス:172.16.0.1)と、リクエストされたアドレス(172.16.0.2) が違うのがよくないみたい。

アドレスを 172.16.0.1 にしてリクエストすればいいんですが、そうも行かない場合はサーバ側で対処します。

/etc/host.conf に multi on を追加

multi on

/etc/hosts に 172.16.0.2 を追加

172.16.0.1 www.example.com
172.16.0.2 www.examole.com

/etc/host.conf の存在は今日初めて知りました。