Wie kann ich eine Portnummer unter Linux umleiten?


7

Ich habe eine Tomcat-Anwendung auf meinem Linux-Computer an Port 8080 ( www.myapplication.com:8080/myapps).

Ich möchte den Tomcat-Port :8080auf den Standard-HTTP-Port von umleiten, :80damit auf die Anwendung ohne Portnummer zugegriffen werden kann ( www.myapplication.com/myapps).

Wie kann ich das unter Linux machen?


1
Warum nicht einfach die Tomcat-Konfiguration aktualisieren, um 80 statt 8080 zu hören?

Antworten:


7

Sie können iptablesPort 80 auf 8080 umleiten.

Dies ist nützlich, wenn Ihre Anwendung von einem nicht privilegierten Benutzer anstelle von root gestartet wird.

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

HTH, PEra


1
Siehe auch : askubuntu.com/q/444729/929 (dh Sie müssen möglicherweise OUTPUTanstelle von verwenden PREROUTING)
Tobias Kienzler


2

Sie sollten den Tomcat oder einen anderen Java-Anwendungsserver niemals der Außenwelt gegenüberstellen. Am besten installieren Sie Apache HTTPD und verwenden es als Reverse-Proxy, um Tomcat oder JBoss zu verpacken.

Ich empfehle Folgendes.

  1. Installieren Sie httpd :

    yum installiere httpd
  2. Erstelle Datei

    /etc/httpd/conf.d/myredirect.conf
    mit folgendem Inhalt:

    ProxyPass http://127.0.0.1:8080/myapps/
    ProxyPassReverse http://127.0.0.1:8080/myapps/
    
  3. Wenn sich die Anwendung im Stammverzeichnis befindet, lautet die Konfiguration wie folgt:

    ProxyPass http://127.0.0.1:8080/
    ProxyPassReverse http://127.0.0.1:8080/
    
  4. Starten Sie httpd neu :

    Service httpd Neustart

Die obigen Anweisungen gelten für Linux der RedHat-Familie. Sie können sich für andere unterscheiden.


Warum nicht Java der Welt ins Gesicht sehen lassen?
Ondra Žižka

1

Zuerst sollten Sie die Datei server.xml ändern und "Connector port =" 8080 "" in "80" ändern. Die Datei befindet sich möglicherweise unter / etc / tomcat6, oder Sie können "find server.xml" verwenden, um sie zu finden.

Zweitens sollten Sie die Standard-Tomcat6-Konfigurationsdatei ändern. Fügen Sie in meinem System (Debian Squeeze) / etc / default / tomcat6 die folgende Zeile hinzu: AUTHBIND = yes.

Starten Sie Ihren Kater neu.

Anschließend können Sie über www.myapplication.com/myapps auf Ihre App zugreifen.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.