¿Cómo hacer que el servidor web Jetty escuche en el puerto 80?

13

Me gustaría usar Jetty como servidor web.

Edité el archivo de configuración en /etc/default/jettyy configuré:

# 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

Ahora puedo acceder al servidor web Jetty en http://192.168.1.10:8080pero me gustaría que Jetty escuchara en el puerto 80.

He intentado esta configuración en el mismo archivo de configuración:

# The network port used by Jetty
JETTY_PORT=80

y luego reinicie Jetty con sudo service jetty restartpero no funciona.

¿Cómo puedo cambiar para que el servidor web Jetty escuche en el puerto 80?

Jonas
fuente
también puede cambiarlo desde start.ini (raíz del embarcadero), allí tiene -> jetty.port - línea, descomenta y dale un valor (el valor predeterminado es 8080)
Rodislav Moldovan

Respuestas:

7

Deberá editar el /etc/jetty/jetty.xmlarchivo. Busque un párrafo que diga:

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

Cambie la jetty.portpropiedad de la 80siguiente manera:

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

Reiniciar el embarcadero. Deberias hacer eso.


Dado que el método anterior no funcionó para OP, y se desaconseja la ejecución como root, existe un método alternativo, como se menciona en este documento .

theTuxRacer
fuente
Esto no funciona También lo verifiqué sudo netstat -nlppero Jetty no está en la lista.
Jonas
Puede ser porque el embarcadero no se está ejecutando como root. Estoy probando una configuración y la publicaré en un momento.
theTuxRacer
Pude obtener la página predeterminada al ejecutar sudo java -jar start.jardesde /usr/share/jetty. También configuré el /etc/jetty/jetty-setuid.xmlinicio como usuario privilegiado.
theTuxRacer
Además, eche un vistazo a: ejecutar jetty como usuario no root .
theTuxRacer
1
Corro sudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080y ahora funciona bien. ¡Gracias!
Jonas
1

Estoy usando Jetty 9. En el archivo start.ini puede encontrar y modificar la propiedad jetty.port. Luego debe reiniciar jetty.service.

Sul
fuente
Puede ser útil si expande su respuesta especificando la ubicación del archivo start.ini, la línea en start.ini que debe modificarse y el texto modificado que debe utilizarse.
CentaurusA