🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Apache

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

10213閲覧

Xamppにおいて、Apacheのバーチャルホストの設定でBad Requestが出る

tama2015

総合スコア63

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Apache

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

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

FuelPHP

FuelPHPは、軽量高速で開発が可能なPHPのWebアプリケーションフレームワークです。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2017/06/18 08:18

編集2017/06/18 15:28

LinuxXampp
http://hoge_hoge/ へのアクセスが
/opt/lampp/hoge_hoge/fuelphp/public/index.php
へのアクセスとなるように設定したいです。

Apacheバーチャルホストの設定を以下のように
行いましたが、ブラウザでアクセスすると、
Bad Requestが表示されてしまいます。

何か、足りない設定など、わかる方がいらっしゃい
ましたら、ご回答頂ければ幸いです。

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

【修正ファイル】
/opt/lampp/hoge_hoge/fuelphp/public/index.php

【修正内容】
・テスト表示用に以下の内容だけのファイルを追加

<?php echo "Hello world!"; ?>

【修正ファイル】
/opt/lampp/etc/httpd.conf

【修正内容】
・以下のコメントアウトを外した。

# Virtual hosts Include etc/extra/httpd-vhosts.conf

【修正ファイル】
/etc/hosts

【修正内容】
・以下のようにhogehogeを追加

127.0.0.1 localhost hoge_hoge

【修正ファイル】
/opt/lampp/etc/extra/httpd-vhosts.conf

【修正内容】
以下を追加

<VirtualHost *:80> DocumentRoot "/opt/lampp/hoge_hoge/fuelphp/public" ServerName hoge_hoge <Directory "/opt/lampp/hoge_hoge/fuelphp/public"> Order Allow,Deny Allow from All Options from All AllowOverride All DirectoryIndex index.php index.html </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot "/opt/lampp/htdocs" ServerName localhost ServerAlias www.localhost </VirtualHost>

【アクセス結果】
http://hoge_hoge/ にブラウザでアクセス

【表示】

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.

追記

【サーバーのログ】
sudo /opt/lampp/lampp stop時にApache
がストップしなかったことがありましたので
*** Error in /opt/lampp/bin/httpd':`に
関してはそれが原因かと思われます。

/opt/lampp/logs/error_log

*** Error in `/opt/lampp/bin/httpd': free(): invalid pointer: 0x0000000000a59cf0 *** ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f15275897e5] /lib/x86_64-linux-gnu/libc.so.6(+0x7fe0a)[0x7f1527591e0a] --省略-- [Sun Jun 18 17:58:03.147083 2017] [core:notice] [pid 3310] AH00052: child pid 3510 exit signal Segmentation fault (11) [Sun Jun 18 17:58:03.147131 2017] [core:notice] [pid 3310] AH00052: child pid 3511 exit signal Aborted (6) [Sun Jun 18 17:58:03.163736 2017] [core:notice] [pid 3310] AH00052: child pid 3509 exit signal Segmentation fault (11) [Sun Jun 18 17:58:03.163807 2017] [mpm_prefork:notice] [pid 3310] AH00169: caught SIGTERM, shutting down [Sun Jun 18 17:58:53.003412 2017] [ssl:warn] [pid 3360] AH01906: www.example.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Sun Jun 18 17:58:53.003688 2017] [ssl:warn] [pid 3360] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name [Sun Jun 18 17:58:53.003782 2017] [suexec:notice] [pid 3360] AH01232: suEXEC mechanism enabled (wrapper: /opt/lampp/bin/suexec) [Sun Jun 18 17:58:53.042420 2017] [auth_digest:notice] [pid 3376] AH01757: generating secret for digest authentication ... [Sun Jun 18 17:58:54.001566 2017] [ssl:warn] [pid 3376] AH01906: www.example.com:443:0 server certificate is a CA certificate (BasicConstraints: CA == TRUE !?) [Sun Jun 18 17:58:54.001613 2017] [ssl:warn] [pid 3376] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name [Sun Jun 18 17:58:54.001699 2017] [lbmethod_heartbeat:notice] [pid 3376] AH02282: No slotmem from mod_heartmonitor [Sun Jun 18 17:58:54.027525 2017] [mpm_prefork:notice] [pid 3376] AH00163: Apache/2.4.25 (Unix) OpenSSL/1.0.2j PHP/7.1.1 mod_perl/2.0.8-dev Perl/v5.16.3 configured -- resuming normal operations [Sun Jun 18 17:58:54.027554 2017] [core:notice] [pid 3376] AH00094: Command line: '/opt/lampp/bin/httpd -E /opt/lampp/logs/error_log -D SSL -D PHP'

/opt/lampp/logs/access_log

127.0.0.1 - - [18/Jun/2017:17:46:39 +0900] "GET /favicon.ico HTTP/1.1" 400 347 127.0.0.1 - - [18/Jun/2017:17:51:53 +0900] "GET / HTTP/1.1" 400 347 127.0.0.1 - - [18/Jun/2017:17:59:17 +0900] "GET / HTTP/1.1" 400 347 127.0.0.1 - - [18/Jun/2017:17:59:17 +0900] "GET /favicon.ico HTTP/1.1" 400 347 127.0.0.1 - - [18/Jun/2017:17:59:21 +0900] "GET / HTTP/1.1" 400 347 127.0.0.1 - - [18/Jun/2017:18:07:57 +0900] "GET / HTTP/1.1" 400 347 127.0.0.1 - - [18/Jun/2017:18:08:37 +0900] "GET / HTTP/1.1" 400 347

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

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

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

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

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

shi_ue

2017/06/18 08:36 編集

ブラウザにアクセスしたのは、Linux上からでしょうか? サーバーのエラーログはどうなっていますか?
tama2015

2017/06/18 09:17 編集

`Linux`のファイアフォックスから、`http://hogehoge/` へアクセスしております。 サーバーのログを追記いたしました。 もし、何かわかりましたらご助言頂ければ幸いです。 よろしくお願い致します。
shi_ue

2017/06/18 09:14

質問文に追記してください。
shi_ue

2017/06/18 09:34 編集

Virtual Host記載前は正常に動いていたんでしょうか? invalid pointerとかSegmentation faultが出ていてまともに動いていないような・・・
tama2015

2017/06/18 15:32

`Options from All`のところでアパッチがコケるようなので削除しました。正常に動かなかった理由のようです。本問題とは別のことがらですが。。
tama2015

2017/06/18 15:34

質問で、`hogehoge`となっているところを、`hoge_hoge`に変更しました。アンダーバーがBadリクエストの原因でした。最初に記載なくすいません。
guest

回答1

0

自己解決

ServerNamehoge_hogeのようにアンダーバーを利用していることが原因でした。
ハイフンに変更しましたところ、Badリクエスト表記はなくなりました。

ただ、このままですと、今度はAccess forbidden!が発生するので
Require all grantedを追加しました。

Options from Allは、アパッチの起動時にエラーが出るようなので削除しました。
最終的には、以下のようになりました。

<VirtualHost *:80> DocumentRoot "/opt/lampp/hoge_hoge/fuelphp/public" ServerName hoge-hoge <Directory "/opt/lampp/hoge_hoge/fuelphp/public"> Order Allow,Deny Allow from All AllowOverride All DirectoryIndex index.php Require all granted </Directory> </VirtualHost>
127.0.0.1 localhost hoge-hoge

投稿2017/06/18 15:44

tama2015

総合スコア63

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

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

tama2015

2017/06/24 09:51

mamp等でアパッチのバージョンが古い場合は、逆に `Require all granted`は、要らないようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問