こんにちは。
都内の9月、日照時間が少ない。
雨ばかりのような気がする。
熱中症の搬送も少ないような気がする。
さて、Windows Server 2016 から Windows Server 2022に移行。
インフラマンは大忙し。
特に Teams会議では、気が抜けない。
疲れます。
AI利用で移行作業は、楽になった。
ツールもすぐ作ってくれる。
トラブルあったとしても、AI様がすぐ解決してくれる。
テスト開始。
あるページで、
IIS Webアプリでエラー。
Bad Request - Header Field Too Long HTTP Error 400.
A request header field is too long.
おっと、レジストリに設定しなくちゃ。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters
MaxFieldLength DWORD 65534(dec) or fffe (hex)
MaxRequestBytes DWORD 16777216(dec) or 1000000 (hex)
設定してリブート。
設定値を確認。
OKのようだ。
reg query "HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters"
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP\Parameters
MaxFieldLength REG_DWORD 0xfffe
MaxRequestBytes REG_DWORD 0x1000000
だが、直らない。
AIに聞くと、F12 DevTool でCookieが長すぎるのが原因。
リクエストのプロトコルを確認。
HTTP2 では、MaxFieldLength は効果ないので
HTTP1.1 で動かせと言い出した。
ほほう。HTTP1.1 に設定して再起動。
エラー変わらず。
(この間、AIにひたすらDevToolのデータ供給)
最後にレジストリを項目名で確認。
reg query "HKLM\SYSTEM\CurrentControlSet\Services\HTTP\Parameters" /v MaxFieldLength
エラー: 指定されたレジストリ キーまたは値が見つかりませんでした
おぉ、MaxFieldLength項目が設定されていない。
MaxFieldLengthの後ろに、空白がしっかりついてました。
解決まで、AIと一緒に4時間格闘!
お疲れ様😊

