Apache統合スレ 12 (HTTPServer以外も含む)
HTTP ServerだけでなくAntやTomcatなどApache全般に関するスレだ!
■公式
Apache Software Foundation http://www.apache.org/
■HTTP Serverの最新Version
Apache/2.4.4
Apache/2.2.24
Apache/2.0.64
■前スレ
Apache統合スレ 11 (HTTPServer以外も含む)
http://engawa.2ch.net/test/read.cgi/mysv/1286137109/ Apache 2.4.7 と mod_encoding を組み合わせて WebDAV サーバとして稼働させると、
日本語を使った WebDAV フォルダ/ファイル名が特定の規則性にしたがって一部
%エンコードされずに生(たとえばUTF-8)のままクライアントに返され、その結果
Windows XPのネットワークプレイスなど旧式の WebDAV クライアントにおいて
フォルダ/ファイル名が文字化けする件
(※2.4.6 では発症しない)
発症環境がニッチすぎて誰も困ってないのかもしらんけど >>51
自社開発の常駐系プロセスです
/path/to/xxxxx | /usr/local/sbin/rotatelogs /path/to/log/xxxxx 3600 &
と起動させ、終了時は
ps acx > /tmp/ps.out 2>&1 &
sleep 3
cat /tmp/ps.out | awk '/xxxxx/{print $1}' |xargs kill
cat /tmp/ps.out | awk '/rotatelogs/{print $1}' |xargs kill
としています
よく考えると、これだとCustomLogもkillされてないとおかしいですね… >>53
rotatelogsを全部殺しているんだ。
そういえば、パイプ経由のプロセスは自動的に上げ直してくれるんだった。エラーログも同じだと思うんだけどな。
http://httpd.apache.org/docs/2.0/ja/logs.html#piped RewriteRuleについて教えてください
以下のように.htaccessを設定しました
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ index.html [L]
RewriteRule ^2$ index2.html [L]
RewriteRule (.*) jj.html
RewriteRule ^j$ ap/ [L]
</IfModule>
このように設定し、.htaccess をおいたディレクトリにアクセスすると
index.htmlではなく jj.html が返ってきました。
RewriteRuleに記述順序は関係ないのですか? 55です。ログをみて自己解決しました。
リダイレクトしていたんですね mod_fcgi
mod_fastcgi
mod_proxy_fcgi
どれ使ってる? mod_chrootとか、mod_securityのような
セキュリティ対策用のモジュールは
やはり導入するのがデフォなんでしょうか? apacheのlogのCONECTってLOGが出てたんですが、具体的に何をしてるの?getとかpost?の親戚? CONNECTでしたね、お恥ずかしいです。
>>61
レスありがとうございました。参考にさせてもらいます。 nfsのアクセスについて質問させてください。
linux mint apache2.2.22 を使用しています。
/mnt/ 以下にnfsをマウントし、guiからは/mnt/以下のフォルダにアクセス(読み書き)できるのですが、
apacheからはアクセスが行えません。
正確にはphpファイルでis_dir(/mnt/〜)としても0が帰ってきます。
is_dir(/mnt)では1が帰ってきて正常にアクセスできているみたいです。
apacheのグループや権限等を理解できておらず、そこがネックになっているのかもしれませんが、自分なりに調べたのですが
どのように調べればいいのか途方にくれております。
アドバイス頂けないでしょうか。
何卒よろしくお願い申し上げます。 それはPHPの質問だと思います。
途方に暮れる前に PHP の is_dir() の仕様を勉強するべきです。 >>66
助言ありがとうございます。
早速 is_dir() の仕様を勉強してきます。 どこをどう間違ったか、自鯖にアクセスすると、
「ページが開けません。多くのリダイレクトが発生しています。」
と言われてしまいます。
原因がよく分からなくなってしまったので、
/etc/httpd/conf/httpd.conf
をデフォルトのものに戻し、
/etc/httpd/conf.d/*.conf
を基本的に全部削除して、
# apachectl restart
してみたのですが、やはり
「ページが開けません。多くのリダイレクトが発生しています。」
と言われます。どういった原因が考えられるでしょうか?
環境は、下記のような具合です。
# less /etc/redhat-release
CentOS release 5.10 (Final)
# w3m -dump_head http://localhost
HTTP/1.1 200 OK
Date: Thu, 13 Mar 2014 06:03:13 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Sun, 28 Mar 2010 13:22:29 GMT
ETag: "1b7393-480-482dc49c66f40"
Accept-Ranges: bytes
Content-Length: 1152
Connection: close
Content-Type: text/html; charset=UTF-8 >>71 リプライありがとうございます。
こういう時ってどこから潰して行けばいいんでしょうかねぇ。。 ログ見ようよ
エラーメッセージでグーグル先生は何かヒントを出しているようですが
ブラウザのキャッシュ&お菓子の破棄とかで何とかなるような場合もあるようだが
どういう構成で何がどうエラー吐いてるのかな
問題のでない構成はないのかな? わかりにくい
上述:問題のでない構成
訂正:問題のでないクライアント機器の構成とか
他にもローカルアクセスなのか、携帯から外部アクセスしてみるとかで。
内向け限定? 質問させてください。
apache2+phpが上手く動作しません。
linux mint 13 にapache2を入れ、試しにきちんとit works!が表示されることと、ドキュメントルート直下に
単純なindex.php (中身はphpinfo();)だけのものを配置して表示がされることは確認できたのですが、複数のphpプログラムで
できているスプリクトを動作させようとするとサーバー内エラー500で動作してくれません。
ネットで調べてドキュメントルート以下をchmod -R 755 にすれば動くとみてやってみたのですが、同じくサーバー内エラー500になってしまいます。
どうかアドバイスを頂けないでしょうか、よろしくお願い致します。 500の時は(そうでない時もだけど)、apacheのerror_logに詳細が出てるはずだから
それ調べてごらん。
エラーの意味がわからないときはその内容をここに書いてごらん。 あとわけもわからず chmod -R しない方がいいぜ。
単にincludeして phpinfo するだけのやつとかも試して御覧。 >>77
アドバイスありがとう御座います。
apacheのerror_logには 「Permission deneid : access to /index.php deneid」
と記録されています。
ふとSELinux関連かなと思ったのですが、ubuntu 12.04ベースのLinux mint 13 にはSELinuxは入っていないようです。
またおっしゃって頂いた事とかぶるかもしれませんが、このような書き方をすればphpinfoまでは動作し表示されます。
require_onceの後にphpinfo();をつけてみると500エラーとなってしまいます。
index.php 中身一部省略
<?PHP
phpinfo();
break;
#=================================================
# ライブラリ読込
#=================================================
//-- 必要最低限を読込 他のライブラリは必要に応じてモジュール先で読込
require_once('../include/define.inc');
?> >>76
自己レスすみません。
ちょっと間違ったログの確認方法をしてしまっていたかもしれません。
>>79 は誤りの可能性があるのでスルーしてください。
すみません。 どのユーザとして実行してるのかな
ファイル/フォルダのPermission・アクセス権が整合してない希ガス >>76 で /index.php は成功してる、ように見えるんだけど
>access to /index.php deneid
これと合わないなあ。
よくあるパターンとしては、ディレクトリの --x が無い場合だけど
755 にしたなら--x付いてるはずだし、、、そこからさかのぼって
一番上まで付いてないとならないから注意ね。
でもまあ、phpinfo()が成功してるならこれは関係ないなあ。 >>83
すみません、お返事がおくれました。
あのあと、もう一度OS再インストールからセットアップしなおした結果、正常に動作しました。
折角アドバイス頂いたエラーログから原因を探るという本質的な解決方法ではないところが悔やまれますが
はじめにセットアップした時に体調を崩しておりきちっと手順を確認できていなかったのかもしれません。
アドバイス頂、お世話になりました。
また何か問題が起こりましたらエラーログから原因を探らせて頂きたいと思います。
ありがとうございました。失礼致します。 ●●●ケネディ大統領は何故、死なねばならなかったのか?●●●
http://jbbs.livedoor.jp/bbs/read.cgi/study/3729/1226114724/53
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
この掲示板に優秀な書き込みをして、総額100万円の賞金をゲットしよう!(*^^)v DDOS攻撃されたのでiptablesでIPはじくようにしたのですが、もっと簡単に設定を行いたいです。
Apacheの.htaccessでdeny設定で簡単に設定を書き換えるようにしたいのですが、
deny設定で弾くとApacheのアクセスログに403のアクセスが出力されてしまいます。
大量アクセスのため、わざわざログに出したくないのですが、403エラーをログに出さない設定はどうやれば良いでしょうか?
アクセスしたファイル名に.jpgなどが含まれていた場合はログに出さない設定は見つけたのですが
ステータスコードでログ出力を抑制する方法を知ってたら教えてください。 ↑ 「Apacheの .Accessで」です。抜けてました。 ほんとうにDDoSだったのであれば、ルータのaclとかiptablesとか、
できるだけ手前で止めるのが正しい。
.htaccessとかのんきなことを言ってられるのはほんとのDDoSを知らない。 Apacheをインストールしてドキュメントルートがrootでしか読み書きできないようなところが指定されていた場合
一般ユーザーからユーザーディレクトリの中にディレクトリを作ってそこをドキュメントルートにするのは危険ですか?
それとも権限はrootに固定しておくべきでしょうか? こういうリンクが実存するんだけどどういう風にやってるのかなぁ
パスの途中に//と、null?なディレクトリが存在する風でよくわからんのです
ttp://blog.tsukumo.co.jp/mt-static/FileUpload/pics//Akiba2014/0401//tsukumotan_4.jpg
movabletype使ってるかもしれないことはわかるが スラッシュかぶっても無視されるだけ
ファイルシステムでもそうでしょ?
Windowsだったらわからんけど あーほんとだ
無視されるのか。
でも、なんでそんな判りにくくするようなことを敢えてやるのかなぁ >>86
iptablesでDDos判定してswatchなんかでIP抜き出して、
denyhostに書き出す。
そのリスト使ってiptablesで弾くのが一番楽で効果的で負荷少ない。
やりかたはまあググればあるよw DDoS の1個目の D は「分散」という意味でだな・・・ >>96
そりゃあ変数置換するときに
${hoge}${fuga}のhogeとfugaどちらにもスラッシュをつけたほうが安全だからな ところが昔の Apache の Location ディレクティブでは // を / とみなす処理が無くてだな・・・
<Location />
allow from 192.168.0.0/24
deny from all
</Location>
なんて設定しても
GET //hogehoge
とすると deny をすり抜けられてたんだな
今でも //phpMyAdmin/setup.php とか //cgi-bin/php5.cgi とかの穴を突きに来るbotが居るのは
そのせい >>98
意味でだなって、んなこと知っとるわw
フィルターで弾くIPを細かく制御できるよ //の件でこたえてくれた方々ありがとう
何だか判らない挙動がひとつなくなってちょっと幸せ。
便利だがセキュリティホールにもなってたのかー http://example.jp/index.cgi/foo/bar
のようにアクセスするCGIがあるのですが、このURLから"index.cgi"を抜いて
http://example.jp/foo/bar
とアクセスを行えるようには出来ないでしょうか? windows7にhttpdをインストールしたんですが、
localhostにつながったりつながらなかったり、
つながってもすごく時間がかかったりの状況です。
hostsファイルを編集して120.0.0.1とlocalhostの関連づけをしました。
Administratorでログインするとサクサク動いてる気がする(たまたまうまくいってるだけかもしれない)ことから
権限関連のなんらかの設定が必要のように感じてるのですが、どうでしょうか すいません、127.0.0.1の間違いです。
hostsファイルのアクセス許可設定で、Usersにフルコントロールの許可をしましたがダメでした。
他にユーザは「System」「Administrator」があり、
それぞれフルコントロールが許可されています ブラウザからlocalhostではなく127.0.0.1でアクセスしてもダメなので
hostsファイルは関係ないでしょうか?
pingした場合は正常に返ってきています いろいろ試してみて、httpd.confでディレクトリの権限を変更したら
即座に403が返ったことから、localhostそのものは正しい状態になってるように感じます。
挙動でしか説明できないのが歯がゆいですが、ブラウザで次のようにするとレスポンスが返ってくることに気づきました。
タブ1でページAにアクセス(更新)=>待機中になってしまう
タブ2でページBにアクセス(更新)=>ページAとページBの読み込みが同時に完了する
またXMLHttpRequestを実行するページでも、
ボタンAクリックで待機状態=>別のボタンBクリックでAとBの結果が同時に出る、
といったことも起こります。
なにか推測できませんでしょうか。よろしくお願いします error_logは何も出てないの?access_logは? エラーログには何も記録されません。
アクセスログは見てなかったのですが、ブラウザに表示されたアクセスと
待機のまま消してしまったアクセスを区別できないので、なんとも・・・
レスポンスコードは(おそらく)すべて200か304でした。
今アクセスログを見たところ、インストール直後はipV6でアクセスされており
その後ipV4に切り替わっています。
もしかすると、>>106のとおりhostsを編集したのがよくなかったのかもしれません。
最初にhostsを見たときは、V4・V6ともコメントアウトされており
V4の方のコメントをはずした次第です。
インストール直後に試したとき(おそらくhosts編集前)は快適だった気もするので
確認してみます。 スレ私物化ですいません、hostsファイルを編集してみるとやはりうまく動作せず、
もとに戻しました(127.0.0.1 localhost のみ有効)
状況変わらずですが、>>110の「2度アクセスするとうまくいく」挙動に関して
以下のように確認したところ、ブラウザでは待機中になってるが
レスポンスが返ってこないだけでアクセスは記録されてることがわかりました。
..tp://localhost/index.html にアクセス=>待機状態
アドレスバーに同じURLを入力してEnterキー(再度アクセスする)=>表示される
アクセスログには2件のアクセスが残っている(いずれも200)
これだとブラウザがダメな気がするけど、現在のところブラウザにかかわらず同じ挙動です。 表示してるものは何なの?
単なる html ファイル? あと httpd.conf でLISTENアドレスを*にしてるなら
そのPCのIPアドレス入れて見たらどうなる?localhostじゃないほうのアドレスね ありがとうございます。現時点で表示しているのはHTMLとPHPです。
ListenにPCのアドレスを入れてみると、httpdは起動しますが
「このページは表示できません」(IE)となり、
ネットワーク診断では「リモートデバイスまたはリソースが接続を受け付けません」となりました。 いや、、Listen 80 だったらそのままでいいよ
ブラウザのURL欄にIPアドレスだよ
とにかく一番単純な形でいくつか試して原因を切り分けしないと 意味とりちがえで失礼しました。
httpd.conf が Listen 80
URLにPCのアドレスでアクセスできてます。
先ほどまでよりサクサクページが読み込まれている感じがしますが
これまでも一時的にはこういう状態があったので・・・。
ただ先ほどまでは、一見快適にページを移動していても、
数10秒ページを表示してから(時間を置いて)次ページにいこうとすると
またダメになるという現象があったのですが
これがなくなり、本来の挙動に近い感じです。
httpd.conf は 現在の Listen 80 のほか
Listen 127.0.0.1:80 も試していました。 SSL用サーバ証明書の再発行って無料なんだな
このまえのOpenSSL騒ぎではじめて再発行申し込んだ >>118
とりあえず、以下の設定を試してみて。
HostnameLookups Off
KeepAlive Off
後は、設定ファイルさらす(コメントは抜いてね)。 EnableMMAP Off とか
EnableSendfile Off とかあったなw Windowsはw スミマセン、投稿の制限などで書き込みにくい状態です。
>>120の設定を試してみましたが状況は変わりませんでした。
こちらでは、Apacheではなくパソのネットワーク関連の問題な気がして
いろいろ試していましたがダメです。
具体的にはipV6が有効・優先になってる関係なのではないかと考えたのですが
ipV6を停止したりipV4を優先にするなどしても変わりませんでした。
以下にhttpd.confを貼ります
LoadModuleはデフォルトのままなので省略、読み込んでない<IfModule>も省略
PHPはあってもなくても同じ状況なので省略しました ServerRoot "c:/Apache24"
Listen 80
ServerAdmin XXX@XXX.XX.XX
ServerName localhost:80
<Directory />
AllowOverride none
Require all denied
</Directory>
DocumentRoot "c:/www/public_html"
<Directory "c:/www/public_html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<IfModule dir_module>DirectoryIndex index.html</IfModule>
<Files ".ht*">Require all denied</Files>
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi
</IfModule> <Directory />...</Directory> の部分、デフォルトのままでした。
コメントアウト、または以下で実行しています
<Directory />
AllowOverride none
Order deny,allow
Deny from all
</Directory> Apache24ってもしかして 2.4系?
Order allow,deny
Allow from all
を
Require all granted
にしてみて >>125
今まで書いてなくて申し訳ありません、Apacheは2.4.9 64bit VC11 版でした。
ちょうど今、解決したかもしれません。
何度も試さないとまだわからないですが、うまくいってる気がします。
これまではブラウザからのアクセスが待機になったとき、カチャカチャやって次の画面にいってたのですが、
待機のまま放置すること2時間くらいたったとき、ふと画面が表示されたんです。
エラーログを見ると次のエラーが。
[mpm_winnt:warn] [pid 1896:tid 812] (OS 64)指定されたネットワーク名は利用できません
: AH00341: winnt_accept: Asynchronous AcceptEx failed.
ここを参考にhttpd.confに追記し、意味を確認しているところです
https://www.apachelounge.com/viewtopic.php?t=5517&view=previous
windows7のhostsは初期状態でipV4/ipV6ともコメントアウトされてたと書きましたが >>112
現在、この状態でipV6でlocalhostにアクセスするようでしたので
現在は初期の状態(両方コメントアウト)に戻してみています。
127.0.0.1を有効にするとちゃんと反映され、ipV4でのアクセスに切り替わります(pingも同様) 先ほどからずっとアクセスを続けていますが、1度もつっかからずページが表示されています。
mpm_winntはhttpd.confにもないですし、上のリンクの記述が2.4系において
どうして Win32DisableAcceptExディレクティブ の代わりになるのかよくわかりませんが
今後の課題としてひとまず解決とさせていただきます。
ありがとうございました! 2.3.3からWindowsは
AcceptFilter http data
AcceptFilter https data
がデフォルトになって、それによって
accept()とAcceptEx()のどちらかを
切り替えるようになったということだね。
日本語ドキュメントが古い。 ★マインドコントロールの手法★
・沢山の人が偏った意見を一貫して支持する
偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法
・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法
↑マスコミや、カルトのネット工作員がやっていること
TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、
カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。
リアルでもネットでも、偽装左翼は自分たちの主張に正当性がないことを自覚しているのでまともに議論をしようとしないのが特徴。
. apache tomcat連携させて
javaアプリケーション作ってるひといまうsか こちらのスレで良いのかわからないのですが
PHPへのアクセス時に拡張子なしでもアクセスできるように
RewriteEngine On
RewriteCond %{REQUEST_URI} !\.
RewriteRule ^(.*)$ $1.php [L]
と設定しました。
うまくいったのですがexample.com/index.phpなどのアドレスにexample.com/でアクセスしようとすると403エラーとなってしまいます。
DirectoryIndex index.php としても特に変化はありませんでした。
あまりサーバーには詳しくないのですが、何かおかしな設定をしているようでしたらアドバイスいただけないでしょうか。 >>131
OSがLinuxだとしたらselinuxとかiptablesとかも
調べてね。 >>131
試してないけど、ファイル名なしをindex.phpとするよう
ルールを追記する必要あるんじゃないかな。
mod_writeの指定をしてる場合、DirectoryIndexが効かない(優先されない?)のは俺も記憶にある 404 じゃなくて 403 になる理由はよくわからんが
%{REQUEST_URI} に / が入ってくるので RewriteRule で /.php に書き換えられる
/index.php を見に行くわけがない 質問させてください。
直接apacheとは関係無いかもしれませんが、質問先が不明確なのでこちらへ書き込みさせて頂きました。
apacheのmod_rewriteを使いファイルのダウンロードURLを書き換えてDLを行わせようとしています。
例:
http://hoge.com/download/file.zip
↓
http://hoge.com/d/file.zip
mod_rewriteの書き換えは問題なく行えるのですが、実際の「d」ディレクトリがmnt先にあり、アクセスに失敗します。
他のファイルやディレクトリもmnt先にあり、ブラウザから直接、各ファイルのあるディレクトリを指定してブラウザからアクセスすると表示やダウンロードは行える状態となっています。
Aliasの設定は下記のように行っております。
例:Alias /contents/ "/mnt/samba/c/"
Alias /download/ "/mnt/samba/d/"
etc...
因みにmod_rewriteのデバッグは下記設定で行っており、rewrite自体が間違っているわけではないようです。
RewriteLog /tmp/rewrite.log
RewriteLogLevel 9
実際のlog内容とは違い、hoge以降無いようは変更しておりますが、下記のようなログとなっております。
(2) init rewrite engine with requested uri hoge・・・
(3) applying pattern '/hoge/'・・・
(2) rewrite '/hoge' -> '・・・'
(2) local path result: /hoge/d/file.zip
(2) prefixed with document_root to /var/www/hoge/d/file.zip
(1) go-ahead with /var/www/hoge/d/file.zip [OK]
ここまでは調べられたのですが、どのように解決させればよいかわからずにいます。
どうかアドバイス頂けませんでしょうか。
よろしくお願いいたします。 Apache2.2+PHP5.2をApache2.4+PHP5.5に更新したら劇遅になりました。
設定に関しては基本的に同じになっています。
同じ様なことになった方はいませんか?
PHP使ってないページでも遅いです。 ggr://blog.wnotes.net/blog/article/apache-event-mpm http://www.example.com/をルートとして
存在しないページのアクセス要求(仮に http://www.example.com/news001.html とします)で
アドレスバーで
・http://www.example.com/404.html を返す
・アドレスは http://www.example.com/news001.html のまま、リターンされるコンテンツが404.htmlの内容になる
上の場合はわかるんですが、下の例で何が違うんでしょうか
鯖建てられないヘタレですが教えてください >140です
上は存在しないページへのアクセスをリダイレクト?とかで404ページに飛ばしているのかなぁ
下は、リターンする内容を404ページのそれに入れ替えているのかなぁ
なんて妄想しました よかったらだれかホントのところを教えてくだしあ だいたい合ってる
前者は RewriteRule か Redirect か RedirectMatch でリダイレクト。
後者は ErrorDocument でエラーページを指定。
けど大事なのは見た目のURL とか 404.html の内容ではなく HTTP ステータス。
世の中 「404 ファイルが見つかりません。」 と書かれたページを HTTP/1.1 200 OK で返してくる
サイトの多いこと多いこと。
リダイレクト方式は HTTP/1.1 200 OK が返る。
ErrorDocument 方式は HTTP/1.1 404 Not Found が返る。
ので後者を使うのが正解。 >>142
あのー、どちらもErrorDocumentで、ErrorDocumentにURLを指定しているからリダイレクトになる訳ですがw まあ、無駄にプログラムを使いたくないならば、
無駄に読み込んだままになっているmod_asisでも使って
ステータスコードを変えろということだなw まあmod_rewriteでも存在するかどうか判定できるけどね。 >140です
ご指摘ありがとうございます
なるほど、イロイロできるぶん、対処を優先するのかエラーなどしきたりを重んじるのかなど
視点の違いで設定が違うと。
実際の鯖を運用するわけではないにせよ、挙動を理解しておかないとやっぱダメですよね。
LAN内限定localhost鯖をたててあれこれ弄ってみようかと思いますが
深みにはまりそう。外向けには公開するコンテンツがないのであくまでも内向けで。 ヘッダーでbootstrapのような固定ナビ
コンテンツにautoindexでディレクトリ内容一覧みたいな
だれかテンプレート作ってくれよ Apacheのリバースプロキシについてご教授ください。
まず、サーバは下記3サーバになります。
・WEBサーバ1:frontsrv.com
・WEBサーバ2:backsrv1.com
・WEBサーバ3:backsrv2.com
この3サーバのうち、下記のようなURLでアクセスしたい場合の設定方法を教えて頂けませんでしょうか。
・http://frontsrv.com/ → WEBサーバ1のローカルファイルを表示
・http://frontsrv.com/back1/ → WEBサーバ2のローカルファイルを表示
・http://frontsrv.com/back2/ → WEBサーバ3のローカルファイルを表示
また、back1/、back2/でそれぞれWEBサーバ2、WEBサーバ3にアクセスした場合に、
そのサーバのローカルに存在しているCGIも実行したいと思います。
※例1:http://frontsrv.com/cgi-bin/test1.cgi → WEBサーバ1のtest1.cgiを実行して表示
※例2:http://frontsrv.com/back1/cgi-bin/test2.cgi → WEBサーバ2のtest2.cgiを実行して表示
よろしくお願いいたします。 質問や説明のために実在するかもしれないドメインを使ってはいけません。
example.com などを使いましょう。→ http://ja.wikipedia.org/wiki/Example.com
Webサーバ1:frontsrv.example.com
Webサーバ2:backsrv1.example.com
Webサーバ3:backsrv2.example.com
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
ProxyPass /back1/ http://backsrv1.example.com/
ProxyPassReverse /back1/ http://backsrv1.example.com/
ProxyPass /back2/ http://backsrv2.example.com/
ProxyPassReverse /back2/ http://backsrv2.example.com/
バックエンドサーバーのCGIが生ホスト名のクッキーを吐くならさらに
ProxyPassReverseCookieDomain backsrv1.example.com frontsrv.example.com
ProxyPassReverseCookieDomain backsrv2.example.com frontsrv.example.com
リバースプロキシで ProxyRequests On を指定してはいけません。ダメ、絶対。 2.4.9誰かzipでもっていない?
oaoslあっとやほお