それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

nginx で 443 default_server を入れたら接続できなくなる

443 で default_server を入れたら通信がおかしくなる件

nginx でドメインをキャッチオールして、別サーバーのnginx へ丸投げする、多段nginx の設定を書いていたら、80 だと動くんだけど、443 で動かない。

listen 443 ssl https default_server

をつけると動かなくなる件

Chrome で接続すると、次のようになる。

SSL_ERROR_RX_UNEXPECTED_NEW_SESSION_TICKET

原因がわからず結構苦労した。

SNI かと思ったけど、どうも違う。SSLのセッションチケットが変わってしまうようです。

これは動くんですが、

listen 80   http default_server
listen 8080 http default_server

ssl をつけると動かない。

listen 443  ssl http2 default_server
listen 8443 ssl  http2 default_server

Errors from browsers with ssl_session_tickets off (nginx)

nginx の メインの設定( server { } 外)に 次の設定を書いて、既存のSSLのセッションを無視するようにする。

ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;

たぶんだけど

SSLのセッションはChromeが管理していて、以前の接続と違うSSLが開始したら、MITMとか?エラー検出してるんだと思う。

そういえば、default_server と server で使ってる証明書は別でした。

参考資料

https://community.letsencrypt.org/t/errors-from-browsers-with-ssl-session-tickets-off-nginx/18124/5