• 締切済み

Apacheのリバースプロキシ利用時の503エラーについて

現在Apacheでバーチャルホストとリバースプロキシを組み合わせて、グローバルIP1つで受けたリクエストを、内部で複数のサーバに割り振っています。 aaa.comへのアクセスは内部サーバ1、bbb.netへのアクセスは内部サーバ2という具合です。 一応想定通りの動作はしているのですが、結構な頻度で503(Service Temporarily Unavailable)エラーが発生します。Apacheのエラーログを見てみると、 (113)No route to host:Proxy:HTTP attempt to connect to 内部IP failed ap_proxy_connect_backend disabling worker for 内部サーバ名 というエラーが出ています。 環境は以下の通りです。 ・Fedora Core9 64bit ・Apache 2.2.8 バーチャルホスト・リバースプロキシ関係の設定ファイルは以下のようになっています。 NameVirtualHost *:80 <VirtualHost *:80> ServerName aaa.com (略) </VirtualHost> <VirtualHost *:80> ServerName bbb.net ProxyPass / http://bbb/ ProxyPassReverse / http://bbb/ (略) </VirtualHost> ※ aaa.comはプロキシサーバ兼Webサーバ(内部サーバ1)となっています。 ※ ProxyPassで設定している "bbb" はetc/hostsでIPに変換しています。 ※ エラーが発生するのはbbb.netへのアクセス時です。エラー発生時でもaaa.comへのアクセスは問題なく行えます。 宜しくお願い致します。

みんなの回答

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

http://www.asahi-net.or.jp/~AX2S-KMTN/ref/status.html ----------抜粋---------- 503 Service Unavailable サーバはサーバの一時的な過負荷あるいはメインテナンスのために、現在、リクエストを扱うことができない ------------------------ 過負荷。要するに1の能力不足じゃない?

usa920
質問者

お礼

ご回答ありがとうございます。 エラーが出るタイミングにはばらつきがありますが、ひどい場合だとユーザ1名が4~5回ページをリロードしただけでエラーがでます。 サーバのスペックは CPU:Intel Quad メモリ:4GBで、さばいている2つのサイトは一方が公開前(エラーが出る方です)、一方が1日20アクセスあるかないか程度ですので、能力不足は考えにくい状況なのです…

関連するQ&A

  • apache リバースプロキシ

    毎度お世話になってます。 タイトルの通りapacheのリバースプロキシの設定で悩んでおります。 単純なリバースプロキシは問題なく動くのですが、 例えば、 ドメインA:back.com ドメインB:revers.com があるとして、 back.com/ppp/の中身を URL:http://revers.com/ で表示させたいのですが、 ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://back.com/ppp ProxyPassReverse / http://revers.com/ 上記では、転送されてURLがhttp://back.comになってしまします。 どなたか詳しい方、もしくは実装されたことがある方いらっしゃいましたら教えてください。。 よろしくお願いします!

  • Apache リバースプロキシについて

    現在、vmware-serverにてWEBサーバを構築中なのですが「リバースプロキシ」の設定を下記のようにすると[warn]のエラーが出てしまいます。何かいい設定方法は無いでしょうか? *環境* ・CentOS release 5.3 (Final)  Kernel 2.6.18-92.el5 on an i686 ・httpd-2.2.3-22.el5.centos.2 ---------------"httpd.conf"の設定内容-------------------- <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /test http://192.168.10.1 ProxyPassReverse /test http://192.168.10.1 ProxyPass /news http://192.168.10.1/news ProxyPassReverse /news http://192.168.10.1/news ---------------------------------------------------------------- 上記のように設定したのですが,confをチェックする際 [warn] worker http://192.168.10.1/ already used by another worker Syntax OK というようになります。 エラーを読むに、192.168.10.1のアドレスは使われています?という事だと思うのですが・・・。因みに同リバースプロキシーconfで、ver1.3のApacheはエラー無く「OK!」でした。 どうしてなんでしょう?? またどのように設定できれば解消できますか? 宜しくお願い致します。

  • Apacheを使用せずにTomcat単体で運用する方法を教えてください

    Apacheを使用せずにTomcat単体で運用する方法を教えてください。 現在、次のほうにApacheとTomcatを連携させて運用しています。 <VirtualHost *:80> ServerName aaa.example.com ProxyPass / http://localhost:8080/xxxx/dir/ </VirtualHost> <VirtualHost *:80> ServerName www.example.com ProxyPass / http://localhost:8080/xxxx/ </VirtualHost> ※xxxx・・・アプリ名 このような設定を、Apacheなしでする方法を教えてください。

  • Proxyサーバの設定

    OSがLinux(Fedora10)の2台のWEBサーバを運用しています。 その他の環境は以下の通りです。 ドメイン名: example.con example.conは2台目のPC上にあります。 80番ポートのマッピングが1台目のPCになっているので、 1台目のPCにProxyサーバの設定を施しています。 aaa.example.conにアクセスすると、aaa.example.conに、bbb.example.conにアクセスすると、bbb.example.conに繋がるように設定しています。 <VirtualHost *:80> ServerName aaa.example.con ProxyPass / http://aaa.example.con/ ProxyPassReverse / http://aaa.example.con/ </VirtualHost> <VirtualHost *:80> ServerName bbb.example.con ProxyPass / http://bbb.example.con/ ProxyPassReverse / http://bbb.example.con/ </VirtualHost> これを、*.example.conにアクセスすると、*.example.conに繋がるように設定するには、どうすればいいですか? <VirtualHost *:80> ServerName *.example.con ProxyPass / http://*.example.con/ ProxyPassReverse / http://*.example.con/ </VirtualHost> イメージ的には上記のようになると思いますが、どうしたらよいのか分かりません。 よろしくお願い致します。

  • apacheのリバースプロキシの設定に関しまして

    solaris9とapache2.0.54でリバースプロキシを構築しています。しかし、ブラウザに、 Proxy Error The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /dir_name/. Reason: DNS lookup failure for: www.hoge.co.jp とでてきて転送先のサーバに接続できません。 apache2をインストールされているサーバから、nslookupを使用すると、www.hoge.co.jpの名前解決はできます。 よろしくお願いいたします。

  • プロキシでエラーになり外部と通信できない

    お世話になります。 外部にあるサーバーとLAN内にあるPCとで通信しようとして失敗し、原因を辿って行ったところ、squidプロキシのログ上でエラーを見つけました。ステータスは400:Bad Request、接続先(ホスト名)が空欄状態です。 試しに、外部サーバーの名前解決の情報をPCのhostsに追記したところ、通信ができました。 ですが、外部サーバーのIPアドレスはいつ変更になるか分かりませんので、ホスト名での通信をしたいところです。それに、なぜホスト名だと通信できないのか分かりません。 以下が、通信できない際のプロキシのアクセスログです。 1377752231.225 0 192.168.AAA.AAA NONE/400 1060 CONNECT :443 - NONE/- - 以下が、hosts追記後に通信できた際のプロキシのアクセスログです。 1377752448.729 2854 192.168.AAA.AAA TCP_MISS/000 172 CONNECT BBB.BBB.BBB.BBB:443 - FIRST_UP_PARENT/192.168.CCC.CCC - hostsに追記した内容 BBB.BBB.BBB.BBB hoge.moge.com 192.168.AAA.AAAがLAN内にあるPC、 BBB.BBB.BBB.BBBが外部サーバーのIPアドレス、 hoge.moge.comが外部サーバーのホスト名、 192.168.CCC.CCCがプロキシの先にある社内セキュリティゲートウェイです。 hoge.moge.comは、ネット上にあるnslookupするサイトで、名前解決できることは確認しています。 お分かりになる方がいらっしゃいましたら、お力添え頂けますでしょうか。

  • ウェブ以外にもリバースプロキシを使いたい

    現在VMWarePlayer上のゲストOSで色々なサーバソフトを動かしており、 それに外部(ホストOSが所属するLAN内)のPCからアクセスしたいと考えています。 一般的には、VMWareの仮想マシンのネットワーク設定で「ブリッジ」を選択すればOKですが、 現在LAN内のIPアドレスの払い出しの制限により、それが使えません。 このため、やむを得ずNAT設定を選択しています。 仮にゲストOS上で動いているサーバがウェブサーバであれば、 ホストOS上にApacheなどでリバースプロキシを構築するだけで済みます。 しかし、実際には実験目的で色々なサーバを置いたりしているため、 Apacheリバースプロキシでは対応できません。 そこで、ホストOSの特定のポートへの接続を、別のマシン(ゲストOS)の 特定のポートに繋げる、リバースプロキシを汎用化したようなソフトは無いでしょうか。 ※Web用のリバースプロキシとは当然仕組みは異なるでしょうが ご存知の方いましたら、お願い致します。

  • ApacheとTomcatの連携を、特定ポートの時だけ行いたい

    ApacheとTomcatの連携を、特定ポートの時だけ行いたい 【httpd.conf】 Include conf/vhost.conf 【vhost.conf】 Listen 5041 <VirtualHost *:5041> ServerName xxxxx DocumentRoot /var/www/myadmin </VirtualHost> Listen 5042 <VirtualHost *:5042> ServerName xxxxx DocumentRoot /var/www/labs </VirtualHost> 【proxy_ajp.conf】 ProxyPass /PG ajp://localhost:8009/PG 今現状、こんな感じになっています。 この時、  http://xxxxx/  http://xxxxx/PG/  http://xxxxx:5041/  http://xxxxx:5042/ は、動いて欲しいです。 が、  http://xxxxx:5041/PG/  http://xxxxx:5042/PG/ は動いて欲しくありません。 ApacheとTomcatの連携を、80ポートだけで行いたいのですが、 可能となる設定方法がありましたらご教示下さい。

  • NATとリバースプロキシについて

    今ネットワークの設計と構築を行っており添付のとおり設計してます アクセスはHTTPSでFWのWAN側のIPにアクセスし その通信をNATしてリバースプロキシに向け リバースプロキシがURL毎に該当のサーバーに振り分けます。 このとき戻りのパケット(ウェブサーバーからの応答パケット) はFWに行くのでしょうか? 当方リバースプロキシサーバーの知識がなく よくわかりません。汗 (担当の人はいけると言ってるのですが、、、) サーバーのデフォルトゲートウェイはFWに向いているのですが この場合だとNATテーブルにないためパケットが破棄されてしまうのでは? と思っています。 知識のある方お知恵をお貸しください。

  • Apacheを使ってプロキシサーバを設定

    apache2.0のmod_proxyを使って、プロキシサーバをたてようとしています。HTTPでのアクセスでは、正常に動作するのですが、HTTPSでのアクセスでは正常に動作しません。アドバイスお願いします。 ○下記構成で利用を想定しています クライアント→今回設定するプロキシサーバA→既存のプロキシサーバB→目的のサイト ○ProxyRemote ディレクティブで既存プロキシサーバBを設定していますが ・HTTPアクセスでは想定どおりの動作をしています ・HTTPSではプロキシサーバA上のWEBサーバへアクセスしようとしてしまいます ○クライアントのプロキシ設定を既存のプロキシサーバBに設定し、HTTPSでのアクセスは正常に行えます Apacheのmod_proxy+HTTPS+多段プロキシ(串)は、動作しないのでしょうか? 以上、よろしくお願いします。