かもメモ

自分の落ちた落とし穴に何度も落ちる人のメモ帳

Apache ローカル環境 400 Bad Request になるとき

ローカル環境を作成してApacheを起動してアクセスしたら次のようなエラーが表示されました。

Bad Request
Your browser sent a request that this server could not understand.
Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.

ホスト名に_(アンダースコア)を使うことはできない。

Apache 2.4.25以降では/etc/hostshttpd-vhosts.confで設定したホスト名に_(アンダースコア)が含まれていると、400 Bad Requestになるようです。

解決方法。
そもそもホスト名に_を含むことはできないようなので、素直にローカル環境のホスト名を変更するコト。以上!

ドメイン名と違い、ホスト名のラベルはASCII文字の'a'から'z'まで(大文字小文字は無視される)と、'0'から'9'の数字そしてハイフンだけを使うことが出来る。ラベルの最初と最後の文字にハイフンを使うことは出来ない。ハイフン(そしてラベルの間に打つドット)以外の特殊文字は時に誤って使われるが許容されない。 また、アンダースコアはWindowsで構築されたシステムで一般に使われるが、RFC 952によれば許容されない。

出典: ホスト名 - Wikipedia

ホスト名に_は基本的にNGっぽいのですね。
ホスト名に_を使えるようにする方法もあるようですが、トラブルの元になりそうなので辞めておいたほうが良さげです。


参考

ふゆびより (キャンプ盤DVD付)

ふゆびより (キャンプ盤DVD付)