Modifica della porta HTTP di Tomcat su 80

1. Panoramica

Per impostazione predefinita, Apache Tomcat viene eseguito sulla porta 8080 . In alcuni casi, questa porta potrebbe già essere presa da un altro processo, oppure i requisiti potrebbero indicare che dobbiamo usare una porta diversa.

In questo rapido articolo, mostreremo come modificare la porta HTTP del server Apache Tomcat. Useremo la porta 80 nei nostri esempi, sebbene il processo sia lo stesso per qualsiasi porta.

2. Configurazione di Apache Tomcat

Il primo passaggio in questo processo è modificare la configurazione di Apache Tomcat.

Per prima cosa, individuiamo il file /conf/server.xml del nostro server . Quindi troviamo la riga che configura la porta del connettore HTTP:

E cambiamo la porta a 80 :

3. Modifiche al sistema Linux e Unix

Su sistemi Linux e Unix, i numeri di porta inferiori a 1024 sono porte privilegiate e sono riservate ai programmi in esecuzione come root . Se siamo in esecuzione sulla porta 1024 o superiore, possiamo saltare il resto di questa sezione e passare direttamente all'avvio / riavvio del nostro server come spiegato nella sezione 4.

Se abbiamo accesso root o sudo , possiamo semplicemente avviare il processo Tomcat come root utilizzando il comando:

sudo startup.sh

Ma se non abbiamo accesso root o sudo , dovremo installare e configurare authbind , come descritto di seguito.

Nota: quando si utilizza una porta non privilegiata ( 1024 o superiore), possiamo saltare il resto di questa sezione e passare direttamente all'avvio / riavvio del nostro server.

3.1. Installa il pacchetto authbind

Per i sistemi basati su Linux: scarica e installa il pacchetto authbind :

sudo apt-get install authbind

Per i sistemi MacOS: innanzitutto, scarica authbind per MacOS da qui ed espandi il pacchetto. Quindi vai nella directory espansa per creare e installare:

$ cd MacOSX-authbind $ make $ sudo make install

3.2. Abilita authbind su Apache Tomcat

Apri il file /conf/server.xml decommenta la riga seguente:

AUTHBIND=yes

3.3. Abilita lettura ed esecuzione per porta

Ora dovremo eseguire alcuni comandi per abilitare i permessi di lettura ed esecuzione per la porta.

Ecco un esempio utilizzando Tomcat versione 8.x:

sudo touch /byport/80 sudo chmod 500 /byport/80 sudo chown tomcat8 /byport/80

Nota: se si utilizza Tomcat versione 6 o 7, utilizzeremo rispettivamente tomcat6 o tomcat7 nell'ultimo comando anziché tomcat8 .

3.4. Utilizzo di versioni precedenti di authbind

Se si utilizza un authbind precedente (versione inferiore a 2.0.0) che non supporta IPv6, sarà necessario impostare IPv4 come predefinito.

Se abbiamo già un file /bin/setenv.sh , sostituisci:

exec "$PRGDIR"/"$EXECUTABLE" start "[email protected]"

con questa linea:

exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "[email protected]"

e quindi aggiungi la seguente riga:

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

Se non abbiamo già il file /bin/setenv.sh , creane uno usando:

exec authbind --deep "$PRGDIR"/"$EXECUTABLE" start "[email protected]" export CATALINA_OPTS="$CATALINA_OPTS -Djava.net.preferIPv4Stack=true"

4. Riavvia il server

Ora che abbiamo apportato tutte le modifiche necessarie alla nostra configurazione, possiamo avviare o riavviare il server Tomcat e accedervi sulla porta 80 .

5. conclusione

In questo articolo, abbiamo mostrato come cambiare la porta di Apache Tomcat dall'8080 predefinita alla porta 80 . Vale la pena notare che il processo è lo stesso per le versioni di Tomcat 6.x, 7.x e 8.x.