• 締切済み

Poundの振り分けについて

サーバーを二台設置しているため新たにCentOS上でPoundを動かすサーバーを追加しました。 片方がWindows Hone serverで、もう片方がCentOS上で動くWEBサーバーです。 WHSのリモートWebアクセスが80番ポートを使用するため、ドメインとグローバルIPアドレスによって振り分けようと考えています。 PoundサーバーのIPが192.168.1.17なので 192.168.1.17の80番ポートを開放しました。 サーバー側でもfirewall-cmd --add-port=80/tcp --zone=public --permanentを実行しました。 cfgファイルの中身はこんな感じです。 user "root" Group "root" Alive 30 Daemon 1 ListenHTTP Address 192.168.1.17 Port 80 xHTTP 1 End Service HeadRequire "Host: *.******.homeserver.com" ←WHSのドメイン BackEnd Address 192.168.1.111 Port 80 End HeadRequire "Host: *.********.jp" ←CentOSのドメイン BackEnd Address 192.168.1.13 Port 80 End HeadRequire "Host: *.グローバルIPアドレス" BackEnd Address 192.168.1.13 Port 80 End End となっています。 poundの情報を調べても殆どが同じバックエンドが複数ある場合の使用例のみだけで、なかなかドメインで振り分ける方法を見つけることができず、断片的に得た情報だけでこのような構成になってしまいました。 どういうわけかこれで動くことには動いてるのですが、WHSにはアクセスできても、別ドメインからのCentOSへのアクセスがうまくいきません。 ローカルでアクセスした場合はApacheのテスト画面がちゃんと表示されています。 グローバルIPアドレスからアクセスしても同じような結果となってしまいます。 このような場合どのように設定すればよいのでしょうか? ご教授お願いします。

みんなの回答

  • h271015
  • ベストアンサー率71% (62/87)
回答No.2

メッセージの通り systemctl status pound.service や journalctl -xe を実行するとどのような出力がありますか? あと、よく見たら以下の最後の「End」はその位置では不要ではないかと思います。 --- ListenHTTP Address 192.168.1.17 Port 80 xHTTP 1 End ---

senfkatze990
質問者

補足

回答感謝します。 → systemctl status pound.service ● pound.service - Pound Reverse Proxy And Load-balancer Loaded: loaded (/usr/lib/systemd/system/pound.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since 木 2016-06-30 09:29:12 JST; 3s ago Process: 25135 ExecStart=/usr/sbin/pound (code=exited, status=1/FAILURE) Main PID: 24639 (code=exited, status=0/SUCCESS) 6月 30 09:29:12 localhost.localdomain systemd[1]: Starting Pound Reverse Pr... 6月 30 09:29:12 localhost.localdomain pound[25135]: starting... 6月 30 09:29:12 localhost.localdomain pound[25135]: /etc/pound.cfg line 22:... 6月 30 09:29:12 localhost.localdomain systemd[1]: pound.service: control pr... 6月 30 09:29:12 localhost.localdomain systemd[1]: Failed to start Pound Rev... 6月 30 09:29:12 localhost.localdomain systemd[1]: Unit pound.service entere... 6月 30 09:29:12 localhost.localdomain systemd[1]: pound.service failed. Hint: Some lines were ellipsized, use -l to show in full. →  journalctl -xe -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit pound.service has failed. -- -- The result is failed. 6月 30 09:29:12 localhost.localdomain systemd[1]: Unit pound.service entered fa 6月 30 09:29:12 localhost.localdomain systemd[1]: pound.service failed. 6月 30 09:29:12 localhost.localdomain polkitd[757]: Unregistered Authentication 6月 30 09:30:01 localhost.localdomain systemd[1]: Started Session 353 of user r -- Subject: Unit session-353.scope has finished start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit session-353.scope has finished starting up. -- -- The start-up result is done. 6月 30 09:30:01 localhost.localdomain systemd[1]: Starting Session 353 of user -- Subject: Unit session-353.scope has begun start-up -- Defined-By: systemd -- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel -- -- Unit session-353.scope has begun starting up. 6月 30 09:30:01 localhost.localdomain CROND[25148]: (root) CMD このように返されました。 Endの位置、試してみましたが、同じエラーではじかれてしまいます。 尚、質問内容の記載でsystemctl status pound.serviceをたたくと、 ● pound.service - Pound Reverse Proxy And Load-balancer Loaded: loaded (/usr/lib/systemd/system/pound.service; enabled; vendor preset: disabled) Active: active (running) since 木 2016-06-30 09:35:31 JST; 1s ago Process: 25255 ExecStart=/usr/sbin/pound (code=exited, status=0/SUCCESS) Main PID: 25256 (pound) CGroup: /system.slice/pound.service tq25256 /usr/sbin/pound mq25257 /usr/sbin/pound 6月 30 09:35:31 localhost.localdomain systemd[1]: Starting Pound Reverse Prox... 6月 30 09:35:31 localhost.localdomain pound[25255]: starting... 6月 30 09:35:31 localhost.localdomain systemd[1]: Started Pound Reverse Proxy... Hint: Some lines were ellipsized, use -l to show in full. と返されます。

  • h271015
  • ベストアンサー率71% (62/87)
回答No.1

ちょっと情報が断片的なので分かりませんが、Service~Endのところを以下のような形でどうですかね? ---- Service HeadRequire "Host: *.******.homeserver.com" #←WHSのドメイン BackEnd Address 192.168.1.111 Port 80 End End Service HeadRequire "Host: *.********.jp" #←CentOSのドメイン BackEnd Address 192.168.1.13 Port 80 End End Service HeadRequire "Host: *.グローバルIPアドレス" BackEnd Address 192.168.1.13 Port 80 End End ----

senfkatze990
質問者

補足

回答ありがとうございます。 実行してみましたが、restart叩くと Job for pound.service failed because the control process exited with error code. See "systemctl status pound.service" and "journalctl -xe" for details. と返されてしまいます。

関連するQ&A

  • WHS Mobileの設定方法を教えてください

    WHS Mobile v1.5.4.0をダウンロードし、WHS(Acer Home ServerH340)にインストールしました。 iPhoneにもAPP Storeからダウンロードしてインストールしました。 Windows Home Server コンソールのユーザアカウントにユーザ追加してあります。 8169TCPポートの空きも確認済みです。 http://www.cman.jp/network/support/port.html こちらでポート確認しました。 ======================= 発行コマンド 監視エンジンポートチェック ホスト=xxx.xxx.xxx.xxx ポート=8169 ホスト:xxx.xxx.xxx.xxx ポート:8169 にアクセスできました。 ======================= Windowsファイアーウォール設定もしてありますが例外にTCP:8169を設定してあります。 Windowsファイアーウォール無効にしても同様の結果になります。 ですが、どうやってもiPhoneからWHSにつながりません。 iPhoneのWHS Mobileのメッセージは 「Uh oh! Either the WHS Mobile domain is incorrect, or the domain cannot be contacted.」 です。 iPhoneやLAN外PC(職場やネット喫茶)からWeb経由ならばアクセスできます。 (https://xxxyyyzzz123123.homeserver.comへアクセスしてユーザ名パスワード入力でログオンできています) (xxxyyyzzz123123は仮名です) Webからは可能、WHS Mobileからは不可能、ポートの解放確認もできているので、WHS Mobileの設定だとは思うのですが、どこの設定が漏れているのか間違っているのかわかりません。 お知恵をお貸しください。よろしくお願いいたします。

  • ドメイン名で外部からルータにアクセスについて

    現在自宅サーバの構築を行っております。 外部からルータにIPアドレスではアクセスできるのですが、ドメイン名でアクセスできません。 ルータは、BuffaloのWHR-AMG54を使っており、外部からのアクセスポートは8080番にしています。 つまり"http://IPアドレス:8080"だとアクセスできて、"http://ドメイン名:8080"だとアクセスできないということです。 IPアドレスはグローバルIPアドレスをひとつ固定で取得しており、ドメインはDynDNSのDynamic DNSで取得しております。 なお、サーバへはSSHでIPアドレスまたはドメイン名いずれにおいても、アクセス可能です。 外部からサーバメンテナンスを行うこともあり、それに伴い、ルータの設定変更を行うこともあるので、ぜひ解決したい問題です。 原因や対処法についてアドバイスいただければ幸いと思います。 よろしくお願いします。

  • tomcat アクセスエラー

    tomcat webサーバにアクセスする際に以下の条件で、 タイムアウトによりアクセスできません。 【apacheまたはtomcat(ポート8080)画面が見える条件】 (rootユーザ) http://localhost/ http://(ip or ドメイン)/ http://localhost:8080/ (一般ユーザ) http://localhost/ http://(ip or ドメイン)/ http://localhost:8080/ http://(ip or ドメイン):8080/ 【apacheまたはtomcat画面が見えない条件】 (rootユーザ) http://(ip or ドメイン):8080/ 何か原因など考えられますでしょうか? よろしければご教授ください。 よろしくお願いいたします。

  • サーバ公開について

    ブラウザから仮想サーバにアクセスをしてWebページを表示させようとしているのですが、なぜかルータのAirStationサイトが表示されてしまいます。 外部から仮想サーバにアクセスしてWebページを表示するにはどのようにしたら宜しいでしょうか。 是非ご教示下さい。 現在の環境及び状況を以下に記載します。 【環境】 仮想サーバ:CentOS5.6(ホストOS:Windows7) 仮想ネットワーク:NAT 【状況】 ・仮想サーバでlocalhostだとindex.php(<?php phpinfo() ?>)を表示出来る ・AirStationでポートは開放済み  ■設定   Internet側IPアドレス:エアステーションのInternet側IPアドレス   LAN側IPアドレス:(仮想サーバIPアドレス)   プロトコル:HTTP(TCPポート:80)   LAN側ポート:HTTP(TCPポート:80) ・ドメインはieServer.NetというダイナミックDNSサービスのサイトで登録済み  DiCEには登録していませんが、ドメインは最新のグローバルIPアドレスに対応させております。   以上、宜しくお願いします。

  • ホスト名抜きメールアドレスでの転送

    Linuxで構築したメール中継サーバでcronが吐き出すroot@host.domain.jpからのメールを.forwardで転送すると Domain of sender address root@host.domain.jp does not exist となってしまいます。 dnsのMXレコードには別のメールサーバだけが登録されていて、追加できません。 また、訳あってsendmail.cfを作成しなおせません。 送信元のアドレスをroot@domain.jpに変換して転送するような.forwardの書き方はあるものでしょうか。

  • resolv.confの設定について

    環境 CentOS6.2 サーバ:192.168.0.3 ルータ:192.168.0.1 ドメイン名:hogehoge.ddo.jp (架空のドメイン名です) 再起動すると ifcfg-eth0の内容がresolv.confに反映されてしまい、hostコマンドで名前解決されているか確認すると、下記結果になってしまいます。(本来、ドメイン名からサーバのローカルIPが帰ってくるべきものが、グローバルIPになっています。またサーバのローカルIPの問い合わせでも、見つからないと返答があります。) この状態のときのresolv.confの内容は下記のとおりです。 [root@hogehoge ~]# cat /etc/resolv.conf nameserver 192.168.0.1 サーバからhostコマンドで問い合わせした結果です。 [root@hogehoge ~]# host 192.168.0.3 Host 3.0.168.192.in-addr.arpa. not found: 3(NXDOMAIN) [root@hogehoge ~]# host hogehoge.ddo.jp hogehoge.ddo.jp has address 182.169.XXX.XXX resolv.confの内容を下記のとおりに修正して,bindを再起動すると正常に名前解決できます。 [root@hogehoge ~]# cat /etc/resolv.conf nameserver 127.0.0.1 search hogehoge.ddo.jp 現在設定されている ifcfg-eth0の内容です。私の理解ではこの設定が再起動、シャットダウン後、resolv.confに反映されると思っております。 再起動のたびに、いちいち編集してbindを再起動しなくても良いようにするには、どのように修正すればよろしいでしょうか。よろしくお願いします。 [root@hogehoge network-scripts]# cat ifcfg-eth0 DEVICE="eth0" HWADDR="00:11:85:11:EE:64" NM_CONTROLLED="yes" ONBOOT="yes" BOOTPROTO=static IPADDR=192.168.0.3 NETMASK=255.255.255.0 GATEWAY=192.168.0.1 BROADCAST=192.168.0.255 DNS1=192.168.0.1

  • ApacheとTomcat ポート80番について

    現在、VPSでマルチドメインで以下の2つサイトを運用しています。 1. PHPによるWordPressサイト 2. Javaによる動的サイト(静的HTML無し) Apache HTTP Server(ポート80)のバーチャルドメインを使用し、2のJavaサイトの場合はAJPでTomcat(ポート8009)へ処理を振り分けています。一般的な連携方法でと思います。 サーバーOSはCentOS5.5、IPアドレスはひとつ、ウェブサーバーにはApache HTTP Server, サーブレットコンテナとしてApache Tomcatを使用しています。root権限保持しています。 質問させていただきたいことは、Apache HTTP ServerおよびApache Tomcatを同時に起動させながらポート80番を1のサイトの場合はApache HTTPが使用、2のサイトの場合はApache Tomcatが使用できるようにする方法はご存知ないでしょうか?ということです。 現在はTomcat単独で運用する場合よりもApache HTTPを経由させるためにJavaのサイトが若干反応が遅く感じます。そもそも静的コンテンツはありませんし、URLの書き換えなども別の手段を用いているため、Apache HTTP Serverを経由する意味はどちらのサイトともブラウザでポート80番へアクセスできるようにする以外ありません。 何かよい方法ご存知ないでしょうか?なお、IPアドレスはひとつ増やしても構いません。

  • Internal Server Errorについて

    Webサーバー(Apache)を構築して、ブログを公開しようと思ったのですが、 Internal Server Errorとなりうまく表示できません。 状況は ローカルエリアネットワーク内のデバイスで接続した場合: (1).ローカルIPアドレスでブログにアクセス:OK (2).グローバルIPアドレスやドメイン名でブログにアクセス:Internal Server Error ローカルエリアネットワーク外のデバイスで接続した場合: (携帯の回線から接続しました。) (3).グローバルIPアドレスやドメイン名でブログにアクセス:OK エラーの原因は何が考えられますか。 WebサーバーのOS:CentOS6.4

  • ubuntuのファイル共有について

    CentOS 6で、ローカルネットワーク内のパソコンがアクセスできるファイルサーバー(samba)を構築しております。ubuntu12.04のデスクトップPCから、ファイルサーバーのファイルにアクセスしたいのですが、どうすればよいでしょうか ちなみに、WINDOWSパソコンでは、ファイルサーバーのIPアドレス、もしくはドメイン名でアクセスできます。 Ubuntuのデスクトップ画面から、ホームフォルダー、ネットワークに進んでIPアドレスか、ドメイン名で検索をかけても表示されません。 検索のときは、\\192.168.0.10 か、\\hogehoge と言うドメイン名で検索するのですが、何も出ません。Windowsパソコンでは、この検索の仕方でファイルサーバーアクセスのためのユーザー名、パスワード入力画面が表示され、入力することでアクセスできます。 ローカルネットワーク内のWindowsパソコンで、ファイルの共有設定をすると、Ubuntuのホームフォルダー、ネットワークに進み、パソコン名が表示されアクセスできます。 しかし、CentOS 6のファイルサーバーにはアクセスできません。 どのようにすればアクセスできるのでしょうか。 よろしくお願いします。

  • Webサーバーを二台使用する場合の最善の方法?

    中小企業です。 いままでリモートデスクトップや見積もりなどの資料を置いていたWindows serverがあるのですが、在庫管理等効率が悪いので、新たにデータベース用のサーバーを置こうと考えています。 データベースサーバーはCentOSで、MariaDBをベースにPHPでWebから回覧、編集できるようにするためにWWWを使います。 既存のWindows ServerもリモートデスクトップがあるのでWWWを使います。 通常使用するポートは80番ですが、これでは競合してしまいますので、別途8080番ポートを使用してCentOS側に接続しようと試みましたが、それだとSELinuxがアクセスを検知すると同時にブロックをかましてしまうのでアクセスができずに困っています。個人ならSELinuxを停止してもよいのでしょうが、企業データを扱う以上はできる限りその手は使いたくありません。 いろいろ調べていたら、リバースプロキシというものを見つけましたが、これがいまいちよくわかりません。 たとえば、WindowsServerはhttps://*******.homeserver.com/というドメインがありますが、CentOSサーバー側はまだドメインの割り当てがないのでIPアドレスでのリンクとなっています。 そのため、https://******.homeserver.com/にアクセスがあった場合を192.168.1.(WS)に、IP直アドか取得したドメインにアクセスがあった場合に192.168.1.(CentOS)にアクセスできるように設定できるのでしょうか? リバースプロキシはCentOS側の端末でWebサーバーと併用できるみたいなのでこの形式で行こうと思うのですが、この場合、社内LANはどういった形になるのでしょうか? また、この形ではセキュリティ的にマズイとか、意見があればそれもお聞きしたいです。 よろしくお願いします。 現状-フレッツ光ルーター-社内端末1             L社内端末2 L複合機            Lハブ-社内端末3 LWindowsServer Lハブ-社内端末4 LCentOS 経験・知識不足でいろいろ拙いところがあり大変お見苦しいかとは思いますが、ご助言お願いします。