DSpaceと呼ばれるTomcat 6 Webアプリケーションのドキュメントを確認しています。具体的には、実行に関して DSpaceを標準ポートで実行する(http://の場合は80、https://の場合は443)
URL内の:8080
を取り除くために、iptablesを使用してトラフィックをポート80および443から8080および8443にリダイレクトする「方法1」を使用しようとしています。
これらは、ドキュメントが提供するコマンドです:
/sbin/iptables -t nat -I PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-ports 8080
/sbin/iptables -t nat -A OUTPUT -p tcp -d _[server_ip_address|server_ip_address]_ --dport 80 -j REDIRECT --to-port 8080
/sbin/iptables -t nat -I PREROUTING -p tcp --destination-port 443 -j REDIRECT --to-ports 8443
2行目について、特に-d _[server_ip_address|server_ip_address]_
セクションを変更する必要があると思いますが、何なのかわかりません。 man
のiptables
ページを読みましたが、うまくいきません。
-d _[server_ip_address|server_ip_address]_
を次のように変更してみました:
-d _[127.0.0.1|127.0.0.1]_
そしてまた:
-d _[54.224.121.116|54.224.121.116]_
そしてまた:
-d _[ec2-54-224-112-116.compute-1.amazonaws.com|ec2-54-224-112-116.compute-1.amazonaws.com]_
発生しているエラーにはBad argument 'REDIRECT'
と
Host/network '_127.0.0.1' not found
誰かが私が間違っていることを見つけるのを手伝ってくれる?
update:リダイレクトは2行目がなくても機能すると思いますが、それでも意図された目的が何かはわかりません...
fwiw実際には、通常のApacheでmod_proxy_ajpを使用することを考えています。 URLのサーバー名の最後に:8080と:8443を入力する必要がないようにしようとしているようです。 mod_proxy_ajpは通常、実行しようとしていることの方が簡単です。後でアンティを上げてロードバランシングを実行する場合、すでにmod_proxy_ajp設定になっている場合は簡単です。これは、私の運用サーバーの1つでのセットアップです。
<Proxy *>
AddDefaultCharset off
Order deny,allow
Allow from all
</Proxy>
ProxyPass / ajp://fqdn.for.server:8009/
ProxyPassReverse / ajp://fqdn.for.server:8009/
ProxyPassをVirtualHost構成に配置できます。その後は、他のホストの構成とほぼ同じです(つまり、SSLをポート443に構成し、プレーンテキストをポート80に構成できます)。 取引全体でより大きな熱意のために 。
Apache + mod_proxyはこれを行う唯一の方法ではありませんが、これは私が最も経験のある方法であり、それを行う方法(ファイアウォールを使用したポート転送)よりも作業が少ないようです。
私が理解している限り、2番目のルールは、サーバーからサーバーに外部に到達しようとする場合の処理を指定します(したがって-d
)リダイレクト80
から8080
。ローカルで生成されたパッケージはPREROUTING
によって処理されないため、これが必要です(from http://www.docum.org/docum.org/kptd/ und "Updates")
注:私は通常、ファイアウォールとしてショアウォールを使用しているので、私の答えを防弾だとかレインボー風味だとか考えたりしないでください。