web-dev-qa-db-ja.com

Linuxでポート番号をリダイレクトするにはどうすればよいですか?

Linuxマシンのポート8080(www.myapplication.com:8080/myapps)でTomcatアプリケーションを実行しています。

Tomcatポート:8080をデフォルトのHTTPポート:80にリダイレクトして、ポート番号(www.myapplication.com/myapps)なしでアプリケーションにアクセスできるようにします。

Linuxではどうすればよいですか?

7
user1206852

iptablesを使用して、ポート80を8080にリダイレクトできます。

これは、アプリケーションがrootではなく非特権ユーザーによって起動された場合に役立ちます。

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

HTH、PEra

7
PEra

これを達成する方法はたくさんありますが、最初に頭に浮かぶのはnginxを使用することです: nginx を使用してポート8080 URLをポート80に永続的にリダイレクトする方法

もう1つはiptablesを使用することです: http://www.cyberciti.biz/faq/linux-port-redirection-with-iptables/

2
php-coder

Tomcatやその他のJavaアプリケーションサーバーを外部の世界に向けてはいけません。ベストプラクティスは、Apache HTTPDをインストールし、リバースプロキシを使用してTomcatまたはJBossをラップすることです。

次のことをお勧めします。

  1. インストールhttpd

    yum install httpd
  2. ファイルを作成する

    /etc/httpd/conf.d/myredirect.conf
    次の内容:
     ProxyPass http://127.0.0.1:8080/myapps/
    ProxyPassReverse http://127.0.0.1:8080/myapps/
    
  3. アプリケーションがルートにある場合、構成は次のようになります。

     ProxyPass http://127.0.0.1:8080/
    ProxyPassReverse http://127.0.0.1:8080/
    
  4. 再起動httpd

    サービスhttpd再起動

上記の手順は、RedHatファミリLinux向けに提供されています。他のものとは異なる場合があります。

2
Roman Pavlyuk

まず、server.xmlファイルを変更し、「Connector port = "8080"」を「80」に変更する必要があります。ファイルは/ etc/Tomcat6にあるか、「locate server.xml」を使用して検索できます。

次に、デフォルトのTomcat6構成ファイルを変更する必要があります。私のシステム(debian squeeze)では/ etc/default/Tomcat6です。AUTHBIND= yesという行を追加します。

tomcatを再起動します。

その後、www.myapplication.com/myappsを使用してアプリにアクセスできます。

1
jeek