質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Q&A

解決済

4回答

9197閲覧

Apacheでバーチャルホストでホスト名にアンダースコアがあると400Bad Requestになってしまう

KazukiKudo

総合スコア37

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

0グッド

0クリップ

投稿2017/06/17 05:01

編集2017/06/17 10:00

私のローカル環境のことですが、XAMPP(現在最新版)をインストールして、hostsファイルにホスト名を色々追加してバーチャルホストを使用しております。
問題があって、ホスト名にアンダースコアが含まれる場合、400 Bad Requestになってしまい、表示できません。
以前は別にアンダースコアがあろうが全く問題なかったのですが。
(本来ホスト名にアンダースコアを含んではいけないというルールは知っていますが、私のローカル環境なのでそこは気にしていないです。)

ホスト名にアンダースコアが含まれていても問題なく表示できるよう設定したのですが、どうすればよろしいでしょうか?

環境は
Apache/2.4.25
Windows10
です。

よろしくお願い致します。

[Fri Jun 16 01:06:34.219723 2017] [mpm_winnt:notice] [pid 13532:tid 708] AH00422: Parent: Received shutdown signal -- Shutting down the server.
[Fri Jun 16 01:06:36.238179 2017] [mpm_winnt:notice] [pid 9492:tid 660] AH00364: Child: All worker threads have exited.
[Fri Jun 16 01:06:36.394544 2017] [mpm_winnt:notice] [pid 13532:tid 708] AH00430: Parent: Child process 9492 exited successfully.
[Fri Jun 16 01:06:55.531036 2017] [ssl:warn] [pid 3240:tid 540] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Jun 16 01:06:55.640422 2017] [ssl:warn] [pid 3240:tid 540] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Jun 16 01:06:55.843568 2017] [mpm_winnt:notice] [pid 3240:tid 540] AH00455: Apache/2.4.25 (Win32) OpenSSL/1.0.2j PHP/7.1.4 configured -- resuming normal operations
[Fri Jun 16 01:06:55.843568 2017] [mpm_winnt:notice] [pid 3240:tid 540] AH00456: Apache Lounge VC14 Server built: Dec 17 2016 10:42:52
[Fri Jun 16 01:06:55.843568 2017] [core:notice] [pid 3240:tid 540] AH00094: Command line: 'C:\xampp\apache\bin\httpd.exe -d C:/xampp/apache'
[Fri Jun 16 01:06:55.843568 2017] [mpm_winnt:notice] [pid 3240:tid 540] AH00418: Parent: Created child process 5016
AH00548: NameVirtualHost has no effect and will be removed in the next release C:/xampp/apache/conf/extra/httpd-vhosts.conf:20
[Fri Jun 16 01:06:56.202982 2017] [ssl:warn] [pid 5016:tid 652] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Jun 16 01:06:56.281116 2017] [ssl:warn] [pid 5016:tid 652] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Fri Jun 16 01:06:56.296743 2017] [mpm_winnt:notice] [pid 5016:tid 652] AH00354: Child: Starting 150 worker threads.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

JunMatsumoto

2017/06/17 06:50

apacheのconfigを開示出来ますか?
JunMatsumoto

2017/06/17 06:54

あとErrorlogの開示も可能でしょうか?
KazukiKudo

2017/06/17 10:00 編集

すみません。残念ながら文字数に制限があって、httpd.confの中身をここに貼ることができませんでした。(ファイル添付できればいいのに) errorlogについては、恐れ入りますがどれが該当箇所なのかわからないので、今日出てきたログを貼らせていただきます。
guest

回答4

0

ほかの方もおっしゃるとおり、素直にホスト名を変えるべきだと思います。

ローカル環境だから云々に関係なく、いまあなたはRFC違反のホスト名をつけたことでHTTPサーバーがうまく動かず、やりたいことができないでいるはずです。仮にこの問題を無理やりクリアしたとしても、一部のウェブブラウザが正しく動作しないなど、今後も様々な問題が起こる可能性があります。

本来起こらないはずのトラブルをわざわざ作り出し毎回イライラしながら貴重な時間をかけて対処するコストと、一回だけホスト名を直す作業をするコストのどちらが小さいか比較し、どうすべきか検討するとよいでしょう。

投稿2017/06/18 03:25

編集2017/06/18 03:27
miyahan

総合スコア3095

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazukiKudo

2017/06/18 06:42

コメントありがとございます。 >素直にホスト名を変えるべきだと思います。 実はそうしております。しかし、何とかできるものなのかどうか質問させていただいた次第でございます。
guest

0

解決策ではありませんが、ホスト名にアンダースコアを含んではいけません。
ホスト名 - Wikipedia

投稿2017/06/17 10:05

編集2017/06/17 10:06
shi_ue

総合スコア4437

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazukiKudo

2017/06/17 14:30

それは知ってます。
shi_ue

2017/06/18 00:13

質問文に書いてありましたね。失礼しました。
guest

0

ローカル環境なら、ホスト名を変えるというのはだめですか?
#エイリアスとか。

投稿2017/06/18 03:18

Youichi256

総合スコア204

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

ちょっと興味があったので、調べてみました。
No longer supports ServerName containing underscore

somewhere between 2.4.23-8 and 2.4.25-1 there was a regression that causes

apache to ignore ServerName directives containing underscores.

真偽の程は確かではありませんが、上記のような記載を見つけました。
記事本体は、アンダースコアを使用することに関して横道にそれてしまっていますが、一番下に

People who need underscores will have to resort to 'HTTPProtocolOptions

unsafe'.

とあるので、試してみてはいかがですか?

投稿2017/06/18 00:30

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KazukiKudo

2017/06/18 06:51

ご助言誠にありがとうございます。 調べた結果、下記をhttpd.confに追記したら、アンダースコア入りのホスト名も表示できるようになりました。 <IfVersion >= 2.4.25> HttpProtocolOptions unsafe </IfVersion> 他の方も仰っているように、違反した使い方ということは心の片隅に置いて作業進めて参ります。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問