Linuxマシンのポート8080(www.myapplication.com:8080/myapps
)でTomcatアプリケーションを実行しています。
Tomcatポート:8080
をデフォルトのHTTPポート:80
にリダイレクトして、ポート番号(www.myapplication.com/myapps
)なしでアプリケーションにアクセスできるようにします。
Linuxではどうすればよいですか?
iptables
を使用して、ポート80を8080にリダイレクトできます。
これは、アプリケーションがrootではなく非特権ユーザーによって起動された場合に役立ちます。
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080
HTH、PEra
これを達成する方法はたくさんありますが、最初に頭に浮かぶのはnginx
を使用することです: nginx を使用してポート8080 URLをポート80に永続的にリダイレクトする方法
もう1つはiptables
を使用することです: http://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/
Tomcatやその他のJavaアプリケーションサーバーを外部の世界に向けてはいけません。ベストプラクティスは、Apache HTTPDをインストールし、リバースプロキシを使用してTomcatまたはJBossをラップすることです。
次のことをお勧めします。
インストールhttpd:
yum install httpd
ファイルを作成する
/etc/httpd/conf.d/myredirect.conf次の内容:
ProxyPass http://127.0.0.1:8080/myapps/ ProxyPassReverse http://127.0.0.1:8080/myapps/
アプリケーションがルートにある場合、構成は次のようになります。
ProxyPass http://127.0.0.1:8080/ ProxyPassReverse http://127.0.0.1:8080/
再起動httpd:
サービスhttpd再起動
上記の手順は、RedHatファミリLinux向けに提供されています。他のものとは異なる場合があります。
まず、server.xmlファイルを変更し、「Connector port = "8080"」を「80」に変更する必要があります。ファイルは/ etc/Tomcat6にあるか、「locate server.xml」を使用して検索できます。
次に、デフォルトのTomcat6構成ファイルを変更する必要があります。私のシステム(debian squeeze)では/ etc/default/Tomcat6です。AUTHBIND= yesという行を追加します。
tomcatを再起動します。
その後、www.myapplication.com/myappsを使用してアプリにアクセスできます。