So ändern Sie den Tomcat 8-Port


7

Ich versuche, den Port des Tomcat in Ubuntu 14.04 über diese Konfiguration auf 80 zu ändern [conf / server.xml]:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

zu:

<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

Und ich erhalte diesen Fehler:

13-Oct-2015 18:09:10.626 SEVERE [main] org.apache.coyote.AbstractProtocol.init Failed to initialize end point associated with ProtocolHandler ["http-nio-80"]
 java.net.SocketException: Permission denied

Was mache ich falsch? Oder was fehlt?

Vielen Dank...

Antworten:


12

Um Tomcat auf einem Port unter 1024 in Ubuntu / Unix auszuführen, benötigt der Dienst Root-Rechte. Und das willst du nicht.

Verwenden Sie eine Portumleitung über iptables

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

Vielen Dank AB Was sind dann meine Optionen?
Diego Mendes

Verbesserte meine Antwort.
AB

Bei der Umleitung mit iptables wird beim Senden einer Anfrage an meine IP automatisch Folgendes hinzugefügt: 8080, gibt es eine Möglichkeit, dies zu verhindern?
Mesut

3

Starten Sie Tomcat-Dienste mit authbind. Dadurch kann der Benutzer Ports unter 1024 starten, die nicht umgeleitet werden müssen, oder iptables.

sudo apt-get install authbind -y

So installieren Sie die Authbind-Software

sudo chmod -R 755 / etc / authbind

Gruppe sollte Benutzergruppe sein.

sudo chown -Rh root: group / etc / authbind

Führen Sie danach die folgenden Befehle aus

cd / etc / authbind / byuid

Als Beispiel können Sie sich vorstellen, dass die Benutzer-ID 2000 lautet. Sie können Ihre Benutzer-ID verwenden

sudo echo '0.0.0.0/0:1,1023'> 2000

Diese Datei sollte dem Benutzer und der Gruppe gehören.

Sudo Chown: 2000

sudo chmod 700 2000

Fügen Sie die folgende Zeile in die Tomcat-Startdatei $ CATALINA_BASE / startup.sh ein

export JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"

Zum Starten von Tomcat mit dem Authbind-Dienst startup.sh

Kommentieren Sie die folgende Zeile

#$CATALINA_HOME/bin/startup.sh

Fügen Sie dieses Ende als Ende der Datei hinzu

AUTHBIND_COMMAND="/usr/bin/authbind --deep /bin/bash -c " 

$AUTHBIND_COMMAND $CATALINA_HOME/bin/startup.sh   

Jetzt sollten Sie in der Lage sein, Tomcat-Dienste als Benutzer mit weniger als 1024 Ports zu starten.


echo '0.0.0.0/0:1,1023'> userName Ergebnisse Berechtigung verweigert
mesut

Bitte sei root oder benutze sudo
PKumar

Ich habe Sudo verwendet, aber den gleichen Fehler
Mesut

Wurzel werden und versuchen
PKumar
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.