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.