Illust & Music 月の高いところ

今日のプリン言

謎のプリン語る。
一人書く人増えました。

【MAMP】ヴァーチャルホスト設定時にBad Request 400エラーが出た時

2018年08月10日

みやびプリン 140 87

500 320

【MAMP】ヴァーチャルホスト設定時にBad Request 400エラーが出た時 - サムネイル

※この記事は1年以上前の記事です。
現在は状況が異なる可能性がありますのでご注意ください。

どうも、最近釣りにハマってるみやびです。
先輩に勧められてから、ちょいちょい、便乗してます。
先日も行ってきました。
アウトドアスポーツハマるなんて、絶対ないと思ってましたが、楽しい。

さて、そんなみやびの趣味の話はどうでもよくて、表記の件。
ウェブ長いことやってるけど、400番のエラーなんて初めて見たよ。
404とか、403とか500とかはよく見るけど、400番って・・・。
後輩のローカルサーバー構築してた際に、起きたエラー。

マシンがMacなので、MAMPにて、いつも通りにヴァーチャルホストを立ててやろうとしたが、
今回のエラーが出てきた。
問題のホスト名は、

localhost.2018hogehoge

だ。
様々試したが、うまくいかず、
結局、先頭のlocalhost.を抜いたらうまく動いたので、
とりあえず、それ以降、localhost.はつけない方針にしたが、
釈然としない。
それもそのはず、Windowsマシンで、XAMPPを使用している時は、
いくらlocalhost、とつけたホストが林立してても、全然動いていた。
ましてや、今回と同じホスト名でも動いた。

MAMP特有なのかもしれないと、後輩が帰った後、自身のMacマシンとMAMPを使い調査してみたが、
下記のエントリーに当たった。

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

黒い砂漠 - メイン

どうやら、ホスト名に"_"(アンダースコア)は使えないのは有名なようだ。
しかし、今回のケースでは"_"はついてない。

まてよ、と思い、

localhost.hogehoge

にすると、普通に動いた。

そう、第二ラベルに原因があったのだ。

もしかしたら、MacでMAMPを使用したローカル環境のみかもしれないが、
第二ラベル以下(ラベルとは、ホスト名においての、.(ピリオド)で区切られた文字列のこと)で、先頭に数字を使用すると、400番エラーが発生するのだ。

ちなみに、第三ラベルに使用しても、同じくエラーが起きた。

localhost.hoge.500mogu

とか。
ちなみに、あくまで先頭に使用した場合だけで、

localhost.hoge500

とかでは普通に動く。
あと、第一ラベルで、先頭が数字でも、動く

500hogemogu.local

うーん、原因がわかったがやはり釈然としない。
おそらく、第二ラベル以下だと、
ローカルサーバーの方で、
物理アドレス(IPアドレス)とごっちゃになるのではないだろうか。
今のところそれしか思い浮かばない。

とにかく、この件、ググってみても、ピンポイントなエントリーが見当たらないところからみると、
記事中腹でも述べたとおり、Macマシンで、MAMPを使用した時に限るのだろう。
(だって多分そんなホスト名、世の中にゴロゴロあるはずだし)
もし、ローカルにてホスト名によって、400エラーが出るようなら、
本エントリーの事を試してみてほしい。

ってわけで、最後まで真面目な記事でした。

2万人を超えるユーザーが選んだSEOテンプレートの大ロングセラー【賢威】 - メイン

トラックバック(0)

トラックバックURL:

コメントする