Come far ascoltare il webserver Jetty sulla porta 80?


13

Vorrei usare Jetty come webserver.

Ho modificato il file di configurazione /etc/default/jettye impostato:

# change to 0 to allow Jetty start
NO_START=0

# Listen to connections from this network host
# Use 0.0.0.0 as host to accept all connections.
JETTY_HOST=0.0.0.0

Ora posso raggiungere il server web Jetty all'indirizzo http://192.168.1.10:8080ma vorrei che Jetty ascoltasse sulla porta 80.

Ho provato questa impostazione nello stesso file di configurazione:

# The network port used by Jetty
JETTY_PORT=80

e quindi riavviare Jetty con sudo service jetty restartma non funziona.

Come posso cambiare in modo che il server web Jetty sia in ascolto sulla porta 80?


puoi cambiarlo anche da start.ini (jetty root), lì hai -> jetty.port - linea, decommenta e dai un valore (il valore predefinito è 8080)
Rodislav Moldovan

Risposte:


7

Dovrai modificare il /etc/jetty/jetty.xmlfile. Cerca un paragrafo che dice:

<Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
            <Set name="port"><SystemProperty name="jetty.port" default="8090"/></Set>
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
        <Set name="lowResourcesConnections">5000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>

Modificare la jetty.portproprietà 80come segue:

<Set name="port"><SystemProperty name="jetty.port" default="80"/></Set>

Riavvia pontile. Questo dovrebbe farlo.


Poiché il metodo sopra non ha funzionato per OP e l'esecuzione come root è sconsigliata, esiste un metodo alternativo, come menzionato in questo documento .


Questo non funziona Ho anche verificato con, sudo netstat -nlpma Jetty non è elencato.
Jonas,

Potrebbe essere perché il molo non è in esecuzione come root. Sto provando un'impostazione e pubblicherò tra poco.
theTuxRacer

Sono stato in grado di ottenere la pagina predefinita eseguendo sudo java -jar start.jarda /usr/share/jetty. Ho anche configurato il /etc/jetty/jetty-setuid.xmlper iniziare come utente privilegiato.
theTuxRacer

Inoltre, dai un'occhiata a: eseguendo jetty come utente non root .
theTuxRacer

1
Corro sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080e ora funziona benissimo. Grazie!
Jonas,


1

Sto usando il molo 9. Nel file start.ini è possibile trovare e modificare la proprietà jetty.port. Quindi devi riavviare jetty.service.


Potrebbe essere utile se si espande la risposta specificando la posizione del file start.ini, la riga in start.ini che deve essere modificata e il testo modificato che deve essere utilizzato.
Centaurus,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.