Konfigurieren von Jetty zum Akzeptieren von Verbindungen von allen Hosts unter Ubuntu Lucid

15

Ich möchte, dass Jetty Verbindungen von jedem Host auf Port 8080 bedient. Meine /etc/default/jettyDatei enthält:

NO_START=0
JETTY_HOST=
JETTY_PORT=8080

Der Server ist eine kleine EC2-Instanz, die auf einem Lucid Lynx 32-Bit-Server-AMI basiert. APT ist mit aktiviertem Multiversum und aktiviertem kanonischen Partner-Repository konfiguriert. Jetty ist 6.1.22 aus dem Partner-Repository.

Wenn ich Jetty benutze sudo /etc/init.d jetty start, funktioniert es und lauscht Verbindungen von localhost, aber nicht von anderen:

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

Über Ideen, warum meine Jetty-Konfiguration offenbar nicht auf andere Hosts hört, würde ich mich sehr freuen!

Jim Downing
quelle

Antworten:

13

Fand es! Du brauchst: -

JETTY_HOST=0.0.0.0

andere Hosts zu hören. Eine minimale / etc / default / jetty-Datei enthält also:

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
NO_START=0
JETTY_HOST=0.0.0.0
JETTY_PORT=8080 
Jim Downing
quelle
2
Einige Jetty-Distributionen übergeben JETTY_HOST env var nicht. add -Djetty.port=$JETTY_PORTto the JAVA_OPTIONS env (oder ähnlich)
ithkuil
Aus irgendeinem Grund ist diese Option unter Ubuntu so gekennzeichnet, dass sie angibt, von welchem ​​Host-Steg Verbindungen akzeptiert werden. Hatte mich eine Weile getäuscht.
Synchro
Sie können auch JETTY_ARGSin /etc/default/jetty(mit doppelten Anführungszeichen) verwenden:JETTY_ARGS="jetty.host=127.0.0.1 jetty.port=8080 jetty.spdy.port=8443 jetty.secure.port=443"
Ludovic Kuty
3

Für alle, die Jetty unter Ubuntu mit dem Java JDK von Sun verwenden möchten, müssen folgende /etc/default/jettyDateien geändert werden:

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.

Das ist alles, was benötigt wird, um Jetty auf Ubuntu laufen zu lassen. (Ich verbrachte eine Stunde und stellte fest, dass ich vermisst wurde, JAVA_HOMEobwohl ich es in definiert habe. .bashrc)

Glücklich
quelle