Centos 6
我々は、リバースプロキシの背後に設定されたWebアプリケーションをホストするいくつかの専用サーバーを持っています。リバースプロキシはHaproxyを実行し、Web要求をバックエンドサーバーに転送します。 Puppetで構成された新しいサーバー(ソフトウェア、ユーザー、ファイアウォール)を定期的に追加する必要があるため、理論的には同じに設定する必要があります。
追加した最新のサーバーに問題があります。何らかの理由でポート8080(デフォルトのPuppet設定)でTomcatを実行しても接続されませんが、手動で修正してくださいserver.xml
。haproxy.cfg
port 80
最初は間違いだと思いましたiptables
が、一時的にすべてのトラフィックを許可してみましたが、成功しませんでした。私のルールは元のポートによって異なるため、すべてのポートに拡張しようとしましたが、元のルールにはポート80と8080だけでなく443と8443も含まれていたので、問題はありません。
localhostを介してサーバーにローカルに接続できます(http://localhost:8080/サイト名)が、プロキシを介してドメイン名でリモート接続したり、ホスト名またはIPアドレスで直接接続したりすることはできません。
eth0を使用してポート8080を監視しようとしましたが、sudo tcpdump -i eth0 port 8080
何も取得できませんでした。
次回何をすべきかわかりません。どんなアドバイスや助けにも感謝します。ありがとうございます。
編集:Netstat出力は次のとおりです。
tcp 0 0 :::8080 :::* LISTEN 29875/jsvc.exec
編集2:iptablesについて、リバースプロキシとバックエンドサーバーで許可(通常は削除)するようにデフォルトポリシーを一時的に設定しました。さらに、すべてのルールは、Puppetがすべてのバックエンドサーバーでiptablesを設定するために使用するのと同じファイルから来ます。
答え1
ついに解決しました。通常、ホスティングプロバイダに専用サーバーを注文するときにファイアウォールがないことを指定します。ただし、この場合(管理者エラーのため)、デフォルトのファイアウォールオプションに設定されているため、ポート80は許可されますが、ポート8080は許可されません。このファイアウォールは実際のサーバーの前にあるため、ホスティングプロバイダのWebサイトのサーバーコントロールパネルの設定を誤って見つけるまで、ファイアウォールがあるかどうかはわかりませんでした。ため息をつく。とにかく、ご提案ありがとうございます。 :)