Configuration de Jetty pour accepter les connexions de tous les hôtes sur Ubuntu Lucid

15

Je veux que Jetty serve les connexions de n'importe quel hôte sur le port 8080. Mon /etc/default/jettyfichier a: -

NO_START=0
JETTY_HOST=
JETTY_PORT=8080

Le serveur est une petite instance EC2 basée sur une AMI de serveur Lucid Lynx 32 bits. APT est configuré avec le multivers activé et le référentiel de partenaires canoniques activé. Jetty provient de la version 6.1.22 du référentiel partenaire.

Lorsque je commence à utiliser Jetty sudo /etc/init.d jetty start, cela fonctionne et écoute les connexions de localhost, mais pas les autres: -

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

Toutes les idées sur les raisons pour lesquelles ma configuration Jetty ne semble pas écouter les autres hôtes seraient grandement appréciées!

Jim Downing
la source

Réponses:

13

Je l'ai trouvé! Vous avez besoin: -

JETTY_HOST=0.0.0.0

pour écouter d'autres hôtes. Un fichier minimal / etc / default / jetty comprend donc: -

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
NO_START=0
JETTY_HOST=0.0.0.0
JETTY_PORT=8080 
Jim Downing
la source
2
certaines distributions de jetées ne passent pas JETTY_HOST env var. ajouter -Djetty.port=$JETTY_PORTà l'env JAVA_OPTIONS (ou similaire)
ithkuil
Pour une raison étrange sur Ubuntu, cette option est étiquetée comme étant celle dont les hôtes jetty accepteront les connexions. Je m'étais trompé pendant un moment.
Synchro
Vous pouvez également utiliser JETTY_ARGSdans /etc/default/jetty(avec des guillemets doubles):JETTY_ARGS="jetty.host=127.0.0.1 jetty.port=8080 jetty.spdy.port=8443 jetty.secure.port=443"
Ludovic Kuty
3

Pour ceux qui veulent utiliser Jetty sur Ubuntu avec le JDK Java de Sun, voici les choses qui doivent être modifiées /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.

C'est tout ce qu'il faut pour exécuter jetty sur ubuntu. (J'ai passé une heure et j'ai réalisé que je manquais JAVA_HOMEbien que je l'ai défini dans .bashrc)

Chanceux
la source