WebTransportのサーバーをkubernetesとaognesでデプロイする時のお話
ドメインに、tlsを通そうとしたのだが、証明書を受付けてくれなかった
net::ERR_QUIC_PROTOCOL_ERROR.QUIC_TLS_CERTIFICATE_UNKNOWN (TLS handshake failure (ENCRYPTION_HANDSHAKE) 46: certificate unknown. SSLErrorStack:[handshake.cc:289] error:1000007d:SSL routines:OPENSSL_internal:CERTIFICATE_VERIFY_FAILED).
対策
数時間うだうだ悩んだ結果、私がcertmanagerで作っていた証明書がstaging用の証明書だったのが原因だったらしい。
いろいろ調べてみると、Let'sEncryptのドキュメントにも書いてあった。
疑問
実は、ワイルドカードの証明書に切り替えた瞬間、TLSエラーが出るようになった。STAGINGで使ってるルート証明書がないなら、通常の証明書でも同じエラーが起きてもおかしくない気がするんだけどな。
結論
WebTransportはオレオレ証明すらもchromeの起動フラグに入れないと受付けてくれない仕様なので、staging用の証明書でも通らないらしい。UDPになって自由度が増したのはそうだけど、文献が少ないし開発体験が良いとは言えないので、もうちょっと開発が進むと良いなぁ〜というおきもt