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...

Diego Mendes
quelle

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
AB
quelle
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.

PKumar
quelle
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