• 締切済み

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> イメージ的には上記のようになると思いますが、どうしたらよいのか分かりません。 よろしくお願い致します。

  • wataj
  • お礼率83% (133/160)

みんなの回答

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.2

http://tech.lampetty.net/tech/index.php/archives/288 ↑ 試してみて下さい。 適切に設定できれば、いけそうです。 私は試したことが無いので、いけるかどうかはわかりませんが。

wataj
質問者

お礼

ご回答ありがとうございます。 残念ながら、私にはちょっと無理のようでした。

  • wingstar
  • ベストアンサー率37% (102/275)
回答No.1

<VirtualHost *:80> ServerName *.example.con ProxyPass / http://*.example.con/ ProxyPassReverse / http://*.example.con/ </VirtualHost> これは、aaa.example.conもbbb.expample.conも同一サーバでVirtualhost設定しているイメージですか? まぁ、設定できませんけどね。 それくらい一つ一つ設定して下さい。 だいたい、*.exapmle.conという曖昧な行き先を指定できるはずが無い。

wataj
質問者

お礼

ご回答有難うございます。 (.*)\.exapmle\.con → $1\.exapmle\.con のようなイメージで変換できればと考えています。ちなみに、 人の手に負えないほどあるので、一つ一つは設定できません。

wataj
質問者

補足

RewriteEngine On RewriteRuleを使っても無理ですか? (ちなみに、私は今のところ設定できていません。)

関連するQ&A

  • Apache の mod_proxy で画像のみ Forward したい場合について

    mod_proxyの記述について教えてください。 192.168.0.2 をフロントエンドサーバー 192.168.0.3 をバックエンドサーバー にして http://example.com にアクセスがあった場合は192.168.0.2で処理し http://example.com/test にアクセスがあった場合のみ192.168.0.3で処理するところまで記述できました。 <VirtualHost *>     ServerName example.com     DocumentRoot /var/www/html/     ProxyPass /test http://192.168.0.3/test     ProxyPassReverse /test http://192.168.0.3/test </VirtualHost> そこで質問なのですが、http://example.com/test のアクセスは192.168.0.2で処理し、その中の画像(jpe|gif|png)のみ192.168.0.3で処理させるには、どういった記述をすればよいでしょうか? つまり http://example.com/test/index.html -> 192.168.0.2 http://example.com/test/title.jpg -> 192.168.0.3 といった動作をさせたいのですが、mod_rewriteをうまく書くことができず苦難しています。 どそうぞよろしく宜しくお願いいたします。

  • 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へのアクセスは問題なく行えます。 宜しくお願い致します。

  • 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なしでする方法を教えてください。

  • SSL構築中ですが、もうちょっとなんです。

    RedHat7.2、Apache/1.3.23でSSLを設定しております。 あと、httpd.confだけの設定なのですが、どうしてもうまくいきません。 http://www.aaa.com/とhttp://www.bbb.com/で aaa.comがデフォルトのサーバーでbbb.comをバーチャルホストとして設定しているとします。 https://www.aaa.com/をhttpsにすると問題ないのですが https://www.bbb.com/にアクセスすると https://www.aaa.com/に飛びます。 ドキュメントルートがaaa.comのディレクトリだからだと思うのですが、bbb.comも性格にSSLを使えるようにするにはどうすればいいのでしょうか? いわゆる他の仮想サーバーにも設定したいのです。 どなたか恐れ入りますがご教授おねがいします。 <VirtualHost _default_:443> documentRoot "aaa.comのディレクトリ" </VirtualHost>

  • Apache VirtualHost でワイルドカード(?)設定

    Apache2.2.3を利用しています。 virtualhost.confに50程度のサブドメインを、 下記のように設定をしています。 *************************************************** <VirtualHost *:80>   ServerName suzuki.example.com   DocumentRoot /var/www/html/suzuki/ </VirtualHost> <VirtualHost *:80>   ServerName sato.example.com   DocumentRoot /var/www/html/sato/ </VirtualHost> <VirtualHost *:80>   ServerName yamada.example.com   DocumentRoot /var/www/html/yamada/ </VirtualHost> ・ ・ ・ *************************************************** つまり *************************************************** <VirtualHost *:80>   ServerName ▲▲▲.example.com   DocumentRoot /var/www/html/▲▲▲/ </VirtualHost> *************************************************** のようなルールになっているのですが、 これをワイルドカード使ってできないでしょうか? 宜しくお願いします!

  • ネームサーバーの設定方法(独自ドメイン)

    ネームサーバーの設定方法(独自ドメイン) 複数の会社で、ドメインをいくつか取得しているのですが、いわゆる「紐付け」に困っています。 ABC社では、aaa.conを123.45.67.89に紐付けしてくださいとお願いすると、aaa.conにアクセスすると123.45.67.89でアクセスした時と同じようになります。つまり、紐付けはなされています。 しかし、XYZ社では、123.45.67.89に紐付けしてくださいとお願いすることはできず、その代わり、ネームサーバーを指定するように言われます。デフォルトではXYZ社のネームサーバー(ns1.xyz.conなど)が指定してありますが、bbb.conにアクセスしてもページは表示されません(「Address Not Found」と表示されます)。 XYZ社で登録したbbb.conを使えるようにするには、どのようにすればよいのでしょうか? なお、以下のよう設定します。 ドメイン登録会社 ABC社 XYZ社 私の取得したドメイン aaa.con (ABC社にて取得) bbb.con (XYZ社にて取得) 私の固定IPアドレス 123.45.67.89 ABC社のネームサーバー ns1.abc.con ns2.abc.con XYZ社のネームサーバー ns1.xyz.con ns2.xyz.con 私が使用しているサーバーはLinuxのFedora10です。コマンドラインでnslookupを使って紐付けの状態を調べてみました。 # nslookup aaa.con server: 192.168.1.1 Address: 192.168.1.1#53 Non-authorative answer: Name: aaa.con Address: 123.45.67.89 # nslookup bbb.con server: 192.168.1.1 Address: 192.168.1.1#53 Non-authorative answer: *** Can't find bbb.con: No answer また、ある時は、 # nslookup bbb.con ;; connection timed out; no servers could be reached となります。 他の方々の似たような質問に対するやり取りを拝見して、ネームサーバーの仕組みは何となく理解はできるのですが、結局、自分のは設定できませんでした。 具体的な方法を教えて頂けると助かります。よろしくお願い致します。

  • DNSサーバの引っ越しについて

    お世話になります。 現在、外向けDNSサーバ(BIND9)を管理してます。今回、光回線+プロバイダ変更に伴いグローバルIPが変更になる事になりました。 ドメイン名の変更ありません。DNS、WWWサーバも移転元と移転先でそれぞれ2台用意しています。 以下のような変更計画になっています。 (移転元) DNS ns.example.co.jp グローバルIP=AAA.AAA.AAA.101 WWW www.example.co.jp グローバルIP=AAA.AAA.AAA.102 (移転先) DNS ns.example.co.jp グローバルIP=BBB.BBB.BBB.101 WWW www.example.co.jp グローバルIP=BBB.BBB.BBB.102 以下の資料を見ながら、移転元DNS権利サーバが提供するNSレコードを、移転先DNS権威サーバに向けるテストを行っているのですが、うまくいきません。 http://jprs.jp/related-info/guide/019.pdf 移転元サーバのゾーンファイル @ IN SOA ns.example.co.jp. hostmaster.example.co.jp. (・・・ example.co.jp. IN NS ns.example.co.jp. example.co.jp. IN NS ns2.example.co.jp. ns IN A AAA.AAA.AAA.101 ns2 IN A BBB.BBB.BBB.101 www IN A AAA.AAA.AAA.102 移転先サーバのゾーンファイル @ IN SOA ns.example.co.jp. hostmaster.example.co.jp. (・・・ example.co.jp. IN NS ns.example.co.jp. ns IN A BBB.BBB.BBB.101 www IN A BBB.BBB.BBB.102 上記-のように設定して、nslookup www.example.co.jp AAA.AAA.AAA.101 を実行すれば www=BBB.BBB.BBB.102で戻ってきてOKと考えているのですが、うまくいきません。 www=AAA.AAA.AAA.102で戻ってくるのです。 同じゾーンにwww=AAA.AAA.AAA.102で定義されているので、当たり前のように思います。 移転元を以下のように変更してもダメでした。これだと権利サーバが移転先サーバに向けているので、良いように思いますが、www=AAA.AAA.AAA.102で戻ってくるのです。 @ IN SOA ns2.example.co.jp. hostmaster.example.co.jp. (・・・ example.co.jp. IN NS ns2.example.co.jp. ns2 IN A BBB.BBB.BBB.101 www IN A AAA.AAA.AAA.102 設定がダメなのか、nslookupによる評価方法がダメなのか、分からない状態で困っています。 どのような設定をして、どのように評価すれば良いのか教えて頂けないでしょうか。 何卒、よろしくお願い申し上げます。

  • 2台のサーバで違うサービス

    現在,ルータに2台のサーバが接続されています.サーバAはウェブサーバとして正常に動作しています. 今回,サーバBを増設し,違うサービスを行いたいのですが,どのような設定を行うとよろしいでしょうか. ルータ |-サーバA(192.168.0.2) http://example.com/ |-サーバB(192.168.0.4) http://a.example.com/ httpd.confのvirtual hostに設定を行うと思うのですが,設定方法又は,同じような条件の設定方法が示されたページを教えてください. 一応,サーバAに設定した内容は以下の通りです. この設定では上手く接続されませんでした.具体的には,virtual hostに設定されていない*.example.comはexample.comにリダイレクトされるように設定していますので,example.comに飛ばされてしまいます. <VirtualHost 192.168.0.4> ServerAdmin webmaster@example.com DocumentRoot /var/www ServerName a.example.com </VirtualHost> どうか,よろしくお願いいたします.

  • 2台目のWEBサーバの設定方法

    最近、2台目のPCを購入して、1台目のPCと同様にWEBサーバとして使用しようと思います。 いずれも、OSはLinuxのFedora10で、その他の環境は以下の通りです。 (固定IPアドレス) 123.45.67.89 (ルータのアドレス) 192.168.100.1 (1台目のPC) ローカルアドレス: 192.168.100.2 ポート: 80 ドメイン名: example1.con (2台目のPC) ローカルアドレス: 192.168.100.3 ポート: 8000 ドメイン名: example2.con example1.conに接続するには、アドレスバーにexample1.conとだけ入力してEnterキーを押すと、そのホームページが表示されます。(また、example1.con:80としても、同様です。) しかし、example2.conに接続するには、アドレスバーにexample2.conとだけ入力してEnterキーを押しても、そのホームページは表示されません。代わりに、1台目のPCのデフォルトのページ(Fedora Test Page)が表示されます。しかし、example2.con:8000とすると、ちゃんとホームページが表示されます。 想像するに、example2.conのアドレスは123.45.67.89と解決されてはいるようですが、ローカルでどこに行けばよいか分からず、1台目のPC内のどかかだと判断されているみたいです。 訳あって、1台だけ使用して、そのApacheのファイル(http.conf)に両ドメイン(example1.con, example2.con)をバーチャルホストとして設定できません。 ここで、質問なのですが、example2.conにわざわざポート番号を指定しないで接続するには、どうすればよいのでしょうか? よろしくお願い致します。

  • apacheのバーチャルホストの設定について

    XAMPPを一通りインストールして、apacheでバーチャルホストの設定を行っております。 環境:Windows2003server ApacheFriends XAMPP (Basispaket) version 1.7.1 + Apache 2.2.11 固定のグローバルIPアドレスは1つ持っており、仮に111.222.333.444としておきます。 バーチャルホストのドメイン名は2つ設定したいと思っており、 aaa.hogehoge.net bbb.hogehoge.net 他業者のDNSにて111.222.333.444をAレコードの値として、それぞれ割り当てしました。 ちなみに、hogehoge.netのAレコードは別のサーバーを当てています。 そこで、携帯から直接 http://aaa.hogehoge.netとhttp://bbb.hogehoge.net をアクセスしましたら、自社サーバーのC:/xampp/htdocs/にあるindex.htmが表示されました。 一応、名前解決は成功したとして、、、 念のため、Windowsのhostsに 111.222.333.444  aaa.hogehoge.net  bbb.hogehoge.net を追加しました。 apacheのメイン設定-httpd.conf ------------------------------ ServerRoot "C:/xampp/apache" Listen 80 ServerAdmin admin@localhost ServerName localhost:80 DocumentRoot "C:/xampp/htdocs/" ↓バーチャルホストのファイルをインクルード Include conf/extra/httpd-vhosts.conf ----以下、httpd-vhosts.confの中身 ホスト名を2つ設定 NameVirtualHost 111.222.333.444:80 <VirtualHost 111.222.333.444:80> ServerAdmin admin@aaa.hogehoge.net DocumentRoot C:/xampp/htdocs/aaa.hogehoge.net ServerName aaa.hogehoge.net ServerAlias www.aaa.hogehoge.net <Directory "C:/xampp/htdocs/aaa.hogehoge.net"> Options FollowSymLinks Includes ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> <VirtualHost 111.222.333.444:80> ServerAdmin admin@bbb.hogehoge.net DocumentRoot C:/xampp/htdocs/bbb.hogehoge.net ServerName bbb.hogehoge.net ServerAlias www.bbb.hogehoge.net <Directory "C:/xampp/htdocs/bbb.hogehoge.net"> Options FollowSymLinks Includes ExecCGI AllowOverride None Order allow,deny Allow from all </Directory> </VirtualHost> 設定後、apacheを再起動して、再度携帯電話からhttp://aaa.hogehoge.netとhttp://bbb.hogehoge.netにアクセスしたのですが、C:/xampp/htdocs/にあるindex.htmが表示されてしまい、C:/xampp/htdocs/aaa.hogehoge.net/index.htm、C:/xampp/htdocs/aaa.hogehoge.net/index.htmが表示されません。それぞれのパーミッション自体は766になっているので、こちらは違うと思うのですが、バーチャルホストの設定が悪いのか何処が悪いのか、何か設定が悪いのか全くわからなくなりました。参考書のマニュアルを見ると、「バーチャルホストを設定すると、メインホストの設定が無効になる」と書いてあったので、それでもメインのホストが表示されてしまうということは、バーチャルホストの設定に問題があるのだと自分なりに察知しております。 どなたか、考えられる原因や心当たりある事がございましたら、ご教授をお願いします。