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

このQ&Aのポイント
  • 2台目のPCをWEBサーバとして使用する方法をご説明します。
  • PCのOSはLinuxのFedora10を使用しており、固定IPアドレスは123.45.67.89です。
  • 1台目のPCのローカルアドレスは192.168.100.2でポートは80、ドメイン名はexample1.comです。2台目のPCのローカルアドレスは192.168.100.3でポートは8000、ドメイン名はexample2.comです。example2.comに接続するためには、ポート番号を指定する必要があります。
回答を見る
  • ベストアンサー

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にわざわざポート番号を指定しないで接続するには、どうすればよいのでしょうか? よろしくお願い致します。

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

質問者が選んだベストアンサー

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

192.168.100.2のhttpd.confを <VirtualHost *:80> ServerName example1.con DocumentRoot /www/example1 </VirtualHost> <VirtualHost *:80> ServerName example2.con ProxyPass / http://192.168.100.3:8000 ProxyPassReverse / http://192.100.1.3:8000 </VirtualHost> にしたらどうなりますか? あと、どうしたらいいのかわからなくなったら、とりあえずログを見るようにして、その意味を知る癖を付けて下さい。

wataj
質問者

お礼

ご回答ありがとうございます。 > にしたらどうなりますか? 同様のエラーになります。 > とりあえずログを見るよう ~ 約30分 ~ できました! エラーのキーワードを検索にかけて、原因を突き止めました。 アドバイスどうも有難うございました。 問題が解決して、とてもスッキリした気持ちです。 お世話になりました。

その他の回答 (6)

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

「リバースプロキシ apache」などと検索してみて下さい。 例えば http://webos-goodies.jp/archives/51261261.html とか。 ご自身が提示した設定方法と比べてどうですか?

wataj
質問者

お礼

こんばんは。お世話になります。 192.168.100.2(ポート80)のWEBサーバのhttpd.confには以下のように設定しています。 <VirtualHost *:80> ServerName example2.con ProxyPass / http://192.168.100.3 ProxyPassReverse / http://192.100.1.3 </VirtualHost> 結果は、以下の通りです。 Forbidden You don't have permission to access / on this server. Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.2.10 (Fedora) Server at example2.con Port 80 ここで、ProxyPassやProxyPassReverse内の /を適当に、/directory1のように変更したり、 http://192.168.100.3を、http://google.comのように変更したりしてみましたが、 http://192.168.100.2 (example1.con)のDocumentRootで指定されているディレクトリ内のファイル(index.html)が表示されるだけでした。 ProxyPassやProxyPassReverseの行をどのように設定すべきか、 また、他の部分で気を付けるべき箇所など、ご指南頂けたら幸いです。

  • 774danger
  • ベストアンサー率53% (1010/1877)
回答No.5

example1.conやexample2.conでアクセスしてくるのは外部から123.45.67.89を叩いてくるのではないのですか? hostsで解決できるのはあくまでもルータの内側での話です ルータはHTTPのリクエストヘッダまでは解釈できないので、example1.conでアクセスされたのか、example2.conでアクセスされたのかは判別できません なので単純に、 123.45.67.89:80→192.168.100.2:80 123.45.67.89:8000→192.168.100.3:8000 と振り分けているだけにすぎません どちらも80/TCPでアクセスさせたければ、 (1)グローバルIPアドレスをもう1つもらい、 123.45.67.89:80→192.168.100.2:80 123.45.67.90:80→192.168.100.3:80 のように振り分ける (2)一旦リバースプロキシで受け取り、リクエストヘッダを見て処理を振り分ける のどちらかくらいしかないのでは? No.1のかたが質問している通り、普通のルータだけでは解決できません

wataj
質問者

お礼

ご回答ありがとうございました。 シンプルな説明でとても分かりやすかったです。勉強になりました。

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

> http://192.168.100.3 当然です。 ポートは8000ですよね。 なので、 http://192.168.100.3:8000 にしないと出ないと思います。 質問の中で、 > (example1.con, example2.con)をバーチャルホストとして設定できません。 とありましたので、私はあえて書きませんでしたが、No.3の回答のとおり、普通はVirtualhost設定してリバースプロキシをするのが普通ではないでしょうか。

wataj
質問者

お礼

こんばんは。たびたびすみません。 http://192.168.100.3 は設定が不十分で表示できなかったようです。申し訳ありません。 ご指摘のように、現在のところ、 http://123.45.67.89:8000 のように、末尾にポート番号を入れないと、外部からのアクセスは不可能です。 No.3の方へのお礼に書きましたが、二つのドメインをVirtualhostを使って一つのWEBサーバだけで運営することを避けたいと考えているので、一つの固定IPアドレスを使って別々のWEBサーバが運営できれば、どのような方法でもよいのです。 > Virtualhost設定してリバースプロキシをする 現在、参照しているページは以下の通りです。 http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#forwardreverse (フォワードプロキシ) ProxyRequests On ProxyVia On <Proxy *> Order deny,allow Deny from all Allow from example2.con </Proxy> (リバースプロキシ) ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://example2.con:8000 ProxyPassReverse / http://example2.con:8000 httpd.confファイルは、192.168.100.2(ポート80)と192.168.100.3(ポート8000)のサーバの二つにあると思いますが、 192.168.100.2(ポート80)のサーバを「フォワードプロキシ」として、 192.168.100.3(ポート8000)のサーバを「リバースプロキシ」として設定しています。 これから、VirtualHostを設定しようと思っているのですが、 192.168.100.2(ポート80)のWEBサーバのhttpd.confには <VirtualHost *:80> DocumentRoot /www/example1 ServerName example1.con </VirtualHost> 192.168.100.3(ポート8000)のWEBサーバのhttpd.confには <VirtualHost *:8000> DocumentRoot /www/example2 ServerName example2.con </VirtualHost> のように書いています。 とても長くなって恐縮ですが、これで大丈夫でしょうか? 概念がいまいちつかめていないので、自信がありません。

回答No.3

example1.conで一旦受けて、 バーチャルホストの設定で、 example2.conにmod_proxyで飛ばしちゃ駄目?

wataj
質問者

お礼

ご回答ありがとうございます。 どのような形であれ、一つの固定IP、二つのWEBサーバにそれぞれ別のドメインで運営できれば大丈夫です。 誤解があるようで申し訳ありませんが、バーチャルホストを使いたくない、というのは、 一つのWEBサーバに二つのドメインをバーチャルホストで設定する、という方法が、システム上、取れないということです。 ですから、別々のWEBサーバ上であれば、バーチャルホストを使用しても全く構いません。表現が悪くて誤解を招いてしまい、申し訳ありません。 ところで、mod_proxyですが、恥ずかしながら、使い方はあまりよく分かりません。 http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html#forwardreverse のページを参考にやっていますが、今のところ、うまく行っていません。

  • 8ive22ty
  • ベストアンサー率52% (770/1479)
回答No.2

> 想像するに、example2.conのアドレスは・・・ローカルでどこに行けばよいか分からず・・・。 hostsファイルに設定しておけばいいのでは。 ---質問からは外れますが、 Webサーバーをそのように分けていると、運用側も使用者側も使いにくい、ということはありませんか。

wataj
質問者

お礼

おはようございます。ご回答ありがとうございます。 > hostsファイルに設定しておけばいいのでは。 どちらのサーバのhostsファイルにどのように設定すればよいのでしょうか? ちなみに、現在の設定は以下の通りです。(この設定はうまく行っていません。) (1台目のサーバのhostsファイル) 192.168.100.3 example2.con (2台目のサーバのhostsファイル) 192.168.100.3 example2.con

wataj
質問者

補足

> Webサーバーをそのように分けていると、運用側も使用者側も使いにくい、ということはありませんか。 どうでしょうか。ないと思いますが。 運用側は私ですが、サーバのセキュリティの構造上、両サイトを別々のPC上に配置しなければならない状況です。 別々のPCですが、現在のところ、そのような不便さはさほど感じておりません。 使用者側は、同じサーバか別のサーバかは分からないと思います。

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

> example2.conのアドレスは123.45.67.89と解決されてはいるようですが、ローカルでどこに行けばよいか分からず、1台目のPC内のどかかだと判断されているみたいです。 いいえ、ローカルで分からなくなっているわけではありません。 123.45.67.89のポート80がexample1.conに振られているからです。 example1.conのサーバの設定が変えられないなら、諦めるしかないです。 ちなみに、ポートフォワードしているのがルータですが、めっちゃ高級品ですか? それとも、フレッツ光で使用している程度のレベルのものですか?

wataj
質問者

お礼

ご回答ありがとうございます。 > example1.conのサーバの設定 いずれのサーバも私が管理しているので、設定の変更は可能です。 どのような設定にすればよいのでしょうか? > ちなみに、ポートフォワードしているのがルータですが、めっちゃ高級品ですか? ルータはWeb Casterという普通のレベル(?)のものです。 一応、ポートを含めたアドレスにするとホームページを表示してくれるので、 ルータの設定はうまく行っていると思うのですが…。

wataj
質問者

補足

少し気になることがあります。 ping 192.168.100.3 と打ってみると、100%レシーブされているようですが、 アドレスバーに http://192.168.100.3 と打ってみても、ページが表示できない、になってしまいます。

関連するQ&A

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

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

    ネームサーバーの設定方法(独自ドメイン) 複数の会社で、ドメインをいくつか取得しているのですが、いわゆる「紐付け」に困っています。 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 となります。 他の方々の似たような質問に対するやり取りを拝見して、ネームサーバーの仕組みは何となく理解はできるのですが、結局、自分のは設定できませんでした。 具体的な方法を教えて頂けると助かります。よろしくお願い致します。

  • Fedora7でwebサーバ公開DiCEの設定

    初めまして 以前、Fedora7を使ってApacheでWebサーバを作ったのですが Webへ公開する設定とDiCEの設定が分かりません。 WindowsXPの方でもApacheを使ってWebサーバを公開しているので ポートは8080番を使おうと思ってます。 http://192.168.11.250/にアクセスすると Fedora Test Pageと表示されて英語で色々書かれてます。 WindowsXPの方でDiCEを動かしてDynamic DO!.jpの更新 をしています。Dynamic DO!.jp から頂いてるドメインを使って FedoraのLAN内Webサーバをインターネットへ公開しようと思います。 アドレスは WindowsXPの場合:http://ドメイン.ddo.jp/ Fedoraの場合:http//ドメイン.ddo.jp.8080/ の様な感じになると思います。 Dynamic DO!.jp の更新はWindowsXPの方で行っていても Fedoraでも行わないとFedoraの場合はDynamic DO!.jp からの ドメインは使えないのでしょうか? 現在、秀和システム社のはじめてのFedora7を読んでいますがDiCEの 設定が記載されていませんでした。 FedoraでApacheを使ってWebへ公開する設定やDiCEの設定 等が書かれたお勧めの参考書等宜しければ教えて頂けませんか? 質問内容が分かりずらくて、すみません。 宜しくお願いします。

  • 自宅webサーバにアクセスできない

    自宅サーバ(Fedora7)を立てようと奮闘していますが、 LAN外からwebサーバにアクセスできません。 パソコン初心者で大変申し訳ありませんが、アドバイスお願い致します。 ■現状は以下の通りです。 (1)フレッツ光ファミリータイプを使用、CTUのポートフォワーディング、ファイアウォール設定済み (2)apache2インストール、設定済み (3)ダイナミックDNS設定済み (4)LAN内に2台のPCあり⇒自宅サーバ(Fedora7)、作業PC(windows) ※自宅サーバに割り当てたプライベートアドレス『192.168.24.○○』をA、ドメイン名『○○.dynalias.net』をBとする ■確認済内容 ・LAN内のWindowsPCからサーバのプライベートアドレスAへのアクセスは可能⇒apacheのテストページ表示 ・LAN内のWindowsPCからサーバに設定したドメインBへのアクセス不可 ・サーバPCからサーバに設定したドメインBへのアクセスは可能 ・WindowsPCからping A としたときの応答あり ・WindowsPCからping B としたときの応答あり ・LAN外のPCからドメインBへのアクセス不可 確認済内容は当たり前のこと、無駄なことをやっているかもしれませんが、WindowsPCからping B としたときの応答があったことを考えると CTUの設定が間違っているのかなとも思うのですがどうでしょうか? 実を言うと最初はLAN外のPCからドメインBでアクセスできてたのですが、1週間程度ネットワークが繋げない状況がありまして、その後 LAN外のPCから自宅サーバにアクセスできなくなりました。 これも関係するかわかりませんが、何かアドバイス頂けたらと思います。宜しくお願い致します。

  • 1台のサーバーと3台のPCのネットワーク

    お聞きしたいことがあるのですが、 1台のサーバー(HP社)と3台のPCを使用したネットワーク構築をしたいと思っています。 他に使用できる機材としてはスイッチングHUBがあります。 イメージとしてはサーバーには直にWANからのLANケーブルを差し込み、 空いている1つのLANポートからスイッチングHUBへLANケーブルをスイッチングHUBから3台のPCへというイメージです。 この場合、サーバーでDHCPを構築し、クライアントで利用するという方法で正しいのでしょうか? 仮に正しいとしてやってみたのですがどうにも上手くいきません。 DHCPの起動まで成功しているのですが、クライアントで接続することができません。 環境は全機Fedora7です。IPアドレスは変動なのでDDNSを利用しています。よろしくお願いします!

  • DNS設定についてですが・・・。

    初心者のものですが、Fedora Core3でDNSサーバの設定行いました。 設定したドメインをIEのアドレスバーに貼り付け、アクセスをしたところ、接続ができるのですが、ドメインがIPに置き換わってしまいます。 どなたかご存知の方がございましたら、お教えください。 宜しくお願いいたします。

  • ホームサーバをインターネットに公開したい

    Mac OS X のパーソナル Web 共有でホームサーバを建てました。 このホームページをインターネットから見られるようにしたいのですが、 コンピュータに割り当てられているのがローカル !P アドレス(192.168.0.3)のため、外部から接続できません。 ルータは WARPSTAR を使っているのですが、ルータの設定で ポートマッピング設定 > NATエントリ編集 エントリ番号:1 変換対象ポート:www(ニーモニックで入力できる) 変換対象プロトコル:TCP 宛先アドレス:192.168.0.3 のように入力し登録したのですが、ルータのグローバル IP アドレスをアドレスバーに入力しても「xxx.xxx.xxx.xxxに接続しようとしましたが、拒否されました。」というアラートが出て、ホームページが表示されません。 なにか設定が足りないのでしょうか。 超初心者ですが、よろしくねがいします。

  • アドレスバーの履歴?のことです。

    閲覧履歴を削除して数日経って、再び接続したとき、その度に(例えば)アドレスバーにその閲覧しているアドレスが表示されますが、一旦アドレスバーをEnterキーを押して消して、yのキーを押すと、昨月まで登録していたyoutubeの閲覧履歴が出ます。これを消したいのですが消せますか?

  • webサーバーについて

    自宅でwebサーバーをたてたのですが、うちはルーターにサーバマシンを つないでいるので、ルータのグローバルIPアドレスに対するドメインを 無料のところで取得しました。 そこで、外部(WAN側)から自宅のwebサーバーには アドレス欄にドメイン名を入れるだけで、アクセスできるようにするために、ルータの設定で、静的IPマスカレード設定/NAT設定というところの「Webサーバを外部に公開する (エントリ番号1を使用) 」という項目にチェックを入れて、宛先IPアドレスに サーバーマシンのローカルアドレスを記入しました。 これで大丈夫なはずだと思い、別のPCから ドメイン名でサーバマシンへのアクセスを試みたのですが、 ドメイン名をアドレス欄に入れると、ルータに接続されてしまいます。 グローバルIPアドレスでのアクセスを、サーバマシンに受け渡すような 設定は、上記の方法ではダメなのでしょうか? 使ってるルータはRV-230SEというやつで、Bフレッツです。 よろしくお願いします。

  • HP プリントサーバ IPの設定について

    職場のネットワークでプリンターを使用するため、倉庫で眠っていたHPプリントサーバJetdirect300x使おうと思ったのですが、付属のCDROMが見つからず、IPアドレスの設定ができません。(IPアドレスは固定します。) HPのサイトでソフトウェア(jetadmin)のダウンロードができるかと思ったのですが、「このページの表示が認められていません」の表示が出ます。 PCについてはあまり詳しい方ではありませんが、いろいろwebで探して、telnetでIPの設定ができるのかとやってみましたが、出来ませんでした… MicrosoftTelnetでローカルエコーをオンにして、open <IPアドレス>を入力すると、HP Jetdirectの表示が出ます。Enterを押すと>が出て、「/」のキーを押して(文字は画面上出ません)Enterを押すとIP等の情報は出ますが、コマンドの入力が全くできません。 どなたかアドバイスをお願いします。