Configurar Jetty para aceptar conexiones de todos los hosts en Ubuntu Lucid

15

Quiero que Jetty sirva conexiones desde cualquier host en el puerto 8080. Mi /etc/default/jettyarchivo tiene: -

NO_START=0
JETTY_HOST=
JETTY_PORT=8080

El servidor es una pequeña instancia EC2 basada en un AMI de servidor Lucid Lynx de 32 bits. APT está configurado con multiverso habilitado y el repositorio de socios canónicos habilitado. Jetty es 6.1.22 del repositorio de socios.

Cuando empiezo a usar el embarcadero sudo /etc/init.d jetty start, funciona y escucha las conexiones de localhost, pero no las de otros:

ubuntu@ip-10-224-70-51:/etc/network/if-pre-up.d$ sudo netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
413/sshd
tcp6       0      0 127.0.0.1:8080          :::*                    LISTEN
5655/jsvc
tcp6       0      0 :::22                   :::*                    LISTEN
413/sshd
udp        0      0 0.0.0.0:68              0.0.0.0:*
260/dhclient3
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name    P
ath
unix  2      [ ACC ]     STREAM     LISTENING     1407     1/init              @
/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     4021     407/dbus-daemon     /
var/run/dbus/system_bus_socket

Cualquier idea sobre por qué mi configuración de Jetty no parece estar escuchando a otros hosts sería muy apreciada.

Jim Downing
fuente

Respuestas:

13

¡Lo encontré! Necesitas: -

JETTY_HOST=0.0.0.0

para escuchar a otros anfitriones. Entonces, un archivo mínimo / etc / default / jetty incluye: -

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
NO_START=0
JETTY_HOST=0.0.0.0
JETTY_PORT=8080 
Jim Downing
fuente
2
algunas distribuciones de embarcadero no pasan JETTY_HOST env var. agregar -Djetty.port=$JETTY_PORTa JAVA_OPTIONS env (o similar)
ithkuil
Por alguna extraña razón en Ubuntu, esta opción está etiquetada como de qué host jetty aceptará conexiones. Me había engañado por un tiempo.
Sincronización
También puede usar JETTY_ARGSen /etc/default/jetty(con comillas dobles):JETTY_ARGS="jetty.host=127.0.0.1 jetty.port=8080 jetty.spdy.port=8443 jetty.secure.port=443"
Ludovic Kuty
3

Para cualquiera que quiera usar Jetty en Ubuntu con Java JDK de Sun, estas son las cosas que deben cambiarse /etc/default/jetty:

NO_START=0    # so jetty can be started.

JETTY_HOST=0.0.0.0    # so jetty listens to all hosts.

JETTY_PORT=8999    # optionally, port on which jetty listens (in my case 8999).

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun    # very important, your JAVA_HOME dir.

Eso es todo lo que se necesita para ejecutar jetty en ubuntu. (Pasé una hora y me di cuenta de que me faltaba JAVA_HOMEaunque lo tengo definido .bashrc)

Suerte
fuente