現象
Spring Bootを1.4.0から1.5.13にバージョンを上げた際、社内LANで提供しているAPIを呼び出すと、400エラーが返ってくるようになった。
調査
内蔵tomcatのバージョンが上がったことによるものとは思ったが、全く特定できなかった。
ただIPアドレスでの直アクセスだとアクセスできるので、名前解決問題?かと思ってDNSのあたりを調査するが、
原因はわからず。
原因
ホスト名にアンダースコア(_)が含まれており、RFC952では許容されていない。
解決策
ホスト名のアンダースコアをハイフンに変更。アンダースコアは使わないほうがよい。
(インフラエンジニアには基本中の基本なんだろうなぁ。。)
フルスタックエンジニアへの道は険しい。。
参考
https://stackoverflow.com/questions/50581779/spring-boot-1-4-1-5-suddenly-checks-for-hostname
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=851357
https://ja.wikipedia.org/wiki/%E3%83%9B%E3%82%B9%E3%83%88%E5%90%8D