インフラ系SEの技術メモ

雑なエンジニアが低信頼性のメモを書いています。参考程度にとどめてください。

(Nginx)x509: certificate relies on legacy Common Name fieldとエラーがでた

レガシーと怒られる

Webサーバのログを見てると

... warn  [controller.go:..] Unexpected error validating SSL certificate "xx" for server "xx": x509: certificate relies on legacy Common Name field, use SANs or temporarily enable Common Name matching with GODEBUG=x509ignoreCN=0			

以下のような警告が。

文言を読むと「CommonNameにホスト名を書くのは非推奨のレガシー仕様」とのこと。
じゃあどうすればいいかというと「SAN」を使えばいいじゃん、と。

そして「SAN」を調べると、「Subject Alternative Name」の略称。

Subject Alternative Nameって何?

普通は証明書1枚にコモンネームが1つという作りだけど、SANは複数のURLが利用できるんだとか。
めっちゃいいじゃーんと想いますが、古い携帯電話などには対応していないのでそういうデメリットもあります。

どっちにしろ、コモンネームにFQDNってのはレガシーなんですね。メモメモ。