###前提・実現したいこと
新環境にサーバの引越しを行っています。
旧環境では動作しているモジュールが新環境で動きません。
http://www.hoge-global.com/sub/contact/products/
前任者が作成したFuelPHP製のフォームにアクセスすると404 Bad Requestになります。
ApacheのAliasとProxyPassReverseが効いていないのかと考えていますが、
ApacheのProxy系には不勉強でどうすれば良いか途方にくれています。
ローカルでも検証しましたがFuelPHPに関係なく駄目なようです。
宜しくお願い致します。
ローカル環境の検証状況を張ります。
###発生している問題・エラーメッセージ
正常表示
# wget http://www.hoge-global.com --2017-10-04 19:41:07-- http://www.hoge-global.com/ www.hoge-global.com をDNSに問いあわせています... 192.168.11.27 www.hoge-global.com|192.168.11.27|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 38 [text/html] `index.html' に保存中 100%[===================================================================================================>] 38 --.-K/s 時間 0s 2017-10-04 19:41:07 (16.0 MB/s) - `index.html' へ保存完了 [38/38]
# wget http://www.hoge-global.com/sub/contact/products/ --2017-10-04 20:08:29-- http://www.hoge-global.com/sub/contact/products/ www.hoge-global.com をDNSに問いあわせています... 192.168.11.27 www.hoge-global.com|192.168.11.27|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 400 Bad Request 2017-10-04 20:08:29 エラー 400: Bad Request。
400エラーが発生します。
# wget http://www.hoge-global.com/contact/products/ --2017-10-04 19:46:00-- http://www.hoge-global.com/contact/products/ www.hoge-global.com をDNSに問いあわせています... 192.168.11.27 www.hoge-global.com|192.168.11.27|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 59 [text/html] `index.html.1' に保存中 100%[===================================================================================================>] 59 --.-K/s 時間 0s 2017-10-04 19:46:00 (31.4 MB/s) - `index.html.1' へ保存完了 [59/59]
400エラー
# wget http://hoge_sub.fuel.local --2017-10-04 19:46:28-- http://hoge_sub.fuel.local/ hoge_sub.fuel.local をDNSに問いあわせています... 127.0.0.1 hoge_sub.fuel.local|127.0.0.1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 400 Bad Request 2017-10-04 19:46:28 エラー 400: Bad Request。
400エラー
# wget http://hoge_sub.fuel.local/contact/products/ --2017-10-04 19:46:38-- http://hoge_sub.fuel.local/contact/products/ hoge_sub.fuel.local をDNSに問いあわせています... 127.0.0.1 hoge_sub.fuel.local|127.0.0.1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 400 Bad Request 2017-10-04 19:46:38 エラー 400: Bad Request。
###該当のソースコード
何か設定が足りない気がします...。
まずはWindowsのhostsに設定
192.168.11.27 hoge-global.com www.hoge-global.com
次にサーバのhostsに設定
# vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 hoge-global.fuel.local hoge_sub.fuel.local ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.11.27 www.hoge-global.com hoge-global.com
# vi /etc/httpd/conf/httpd.conf ServerName localhost:80
# mkdir -p /home/web/hoge-global/public # mkdir -p /home/web/hoge-global/app/public # mkdir -p /home/web/hoge_sub/app/public # mkdir -p /home/web/hoge-global/app/public/contact/products/ # mkdir -p /home/web/hoge_sub/app/public/contact/products/
# vi /home/web/hoge-global/public/index.php <?php echo __FILE__; # vi /home/web/hoge-global/app/public/index.php <?php echo __FILE__; # vi /home/web/hoge-global/app/public/contact/products/index.php <?php echo __FILE__; # vi /home/web/hoge_sub/app/public/index.php <?php echo __FILE__; # vi /home/web/hoge-sub/app/public/contact/products/index.php <?php echo __FILE__;
# vi /etc/httpd/conf.d/hoge-global.com.conf NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /home/web/hoge-global/public ServerName www.hoge-global.com ServerAlias hoge-global.com ErrorLog logs/hoge-global-error.log CustomLog logs/hoge-global-access.log common <Location "/contact/products"> ProxyPass http://hoge-global.fuel.local/contact/products ProxyPassReverse http://hoge-global.fuel.local/contact/products </Location> <Location "/sub/contact/products"> ProxyPass http://hoge_sub.fuel.local/contact/products ProxyPassReverse http://hoge_sub.fuel.local/contact/products </Location> <Directory "/home/web/hoge-global"> AllowOverride All Order allow,deny Allow from all # Apache2.4対応の為変更 #Require all granted </Directory> Alias /sub /home/web/hoge_sub/public <Directory "/home/web/hoge_sub"> AllowOverride All Order allow,deny Allow from all # Apache2.4対応の為変更 #Require all granted </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /home/web/hoge-global/app/public ServerName hoge-global.fuel.local ErrorLog logs/hoge-global-error.log CustomLog logs/hoge-global-access.log common <Directory "/home/web/hoge-global/app/public"> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /home/web/hoge_sub/app/public ServerName hoge_sub.fuel.local ErrorLog logs/hoge_sub-error.log CustomLog logs/hoge_sub-access.log common <Directory "/home/web/hoge_sub/app/public"> AllowOverride All Order allow,deny Allow from all # Apache2.4対応の為変更 #Require all granted </Directory> </VirtualHost>
# httpd -t
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
サーバ内部から検証します。
# wget http://www.hoge-global.com --2017-10-04 19:41:07-- http://www.hoge-global.com/ www.hoge-global.com をDNSに問いあわせています... 192.168.11.27 www.hoge-global.com|192.168.11.27|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 38 [text/html] `index.html' に保存中 100%[===================================================================================================>] 38 --.-K/s 時間 0s 2017-10-04 19:41:07 (16.0 MB/s) - `index.html' へ保存完了 [38/38]
正常到達
# wget http://www.hoge-global.com/contact/products/ --2017-10-04 19:46:00-- http://www.hoge-global.com/contact/products/ www.hoge-global.com をDNSに問いあわせています... 192.168.11.27 www.hoge-global.com|192.168.11.27|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 59 [text/html] `index.html.1' に保存中 100%[===================================================================================================>] 59 --.-K/s 時間 0s 2017-10-04 19:46:00 (31.4 MB/s) - `index.html.1' へ保存完了 [59/59]
正常到達
# wget http://hoge-global.fuel.local --2017-10-04 19:46:12-- http://hoge-global.fuel.local/ hoge-global.fuel.local をDNSに問いあわせています... 127.0.0.1 hoge-global.fuel.local|127.0.0.1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 42 [text/html] `index.html.2' に保存中 100%[===================================================================================================>] 42 --.-K/s 時間 0s 2017-10-04 19:46:12 (21.9 MB/s) - `index.html.2' へ保存完了 [42/42]
正常到達
# wget http://www.hoge-global.com/sub/contact/products/ --2017-10-04 20:08:29-- http://www.hoge-global.com/sub/contact/products/ www.hoge-global.com をDNSに問いあわせています... 192.168.11.27 www.hoge-global.com|192.168.11.27|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 400 Bad Request 2017-10-04 20:08:29 エラー 400: Bad Request。
400エラーが発生します。
# wget http://hoge_sub.fuel.local --2017-10-04 19:46:28-- http://hoge_sub.fuel.local/ hoge_sub.fuel.local をDNSに問いあわせています... 127.0.0.1 hoge_sub.fuel.local|127.0.0.1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 400 Bad Request 2017-10-04 19:46:28 エラー 400: Bad Request。
400エラーが発生します。
# wget http://hoge_sub.fuel.local/contact/products/ --2017-10-04 19:46:38-- http://hoge_sub.fuel.local/contact/products/ hoge_sub.fuel.local をDNSに問いあわせています... 127.0.0.1 hoge_sub.fuel.local|127.0.0.1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 400 Bad Request 2017-10-04 19:46:38 エラー 400: Bad Request。
400エラーが発生します。
###試したこと
- Apache(2.2.15)とPHP(5.4)のバージョンを合わせています
- 旧環境のApacheコンフィグ, WEBファイルをパスを合わせてそのまま再現
mod_proxyはインストールされている模様です。
# grep -e mod_proxy.so -e mod_proxy_ajp.so /etc/httpd/conf/* /etc/httpd/conf/httpd.conf:LoadModule proxy_module modules/mod_proxy.so /etc/httpd/conf/httpd.conf:LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
# apachectl -M rewrite_module (shared) proxy_module (shared) proxy_balancer_module (shared) proxy_ftp_module (shared) proxy_http_module (shared) proxy_ajp_module (shared) proxy_connect_module (shared)
###補足情報(言語/FW/ツール等のバージョンなど)
- Apache 2.2.15)
- PHP 5.4.45
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/10/05 00:25