Konfigurowanie Jetty do akceptowania połączeń ze wszystkich hostów w Ubuntu Lucid

15

Chcę, aby Jetty obsługiwał połączenia z dowolnego hosta na porcie 8080. Mój /etc/default/jettyplik ma: -

NO_START=0
JETTY_HOST=
JETTY_PORT=8080

Serwer jest małą instancją EC2 opartą na 32-bitowym serwerze AMI Lucid Lynx. APT jest skonfigurowany z włączonym multiwersum i włączonym repozytorium partnerów kanonicznych. Jetty jest 6.1.22 z repozytorium partnera.

Kiedy zaczynam używać Mola sudo /etc/init.d jetty start, działa i nasłuchuje połączeń z hosta lokalnego, ale nie innych: -

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

Będziemy wdzięczni za wszelkie pomysły, dlaczego moja konfiguracja Jetty nie słucha innych hostów!

Jim Downing
źródło

Odpowiedzi:

13

Znaleziono to! Potrzebujesz: -

JETTY_HOST=0.0.0.0

słuchać innych hostów. Zatem minimalny plik / etc / default / jetty zawiera:

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
NO_START=0
JETTY_HOST=0.0.0.0
JETTY_PORT=8080 
Jim Downing
źródło
2
niektóre dystrybucje pomostów nie przechodzą JETTY_HOST env var. dodaj -Djetty.port=$JETTY_PORTdo JAVA_OPTIONS env (lub podobnego)
ithkuil
Z jakiegoś dziwnego powodu na Ubuntu ta opcja jest oznaczona jako hosty, z których jetty będzie akceptować połączenia. Oszukałem mnie przez chwilę.
Synchro
Możesz także użyć JETTY_ARGSw /etc/default/jetty(z podwójnymi cudzysłowami):JETTY_ARGS="jetty.host=127.0.0.1 jetty.port=8080 jetty.spdy.port=8443 jetty.secure.port=443"
Ludovic Kuty
3

Dla każdego, kto chce używać Jetty na Ubuntu z Java JDK firmy Sun, są to rzeczy, które należy zmienić /etc/default/jettyplik:

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.

To wszystko, czego potrzeba, aby uruchomić molo na Ubuntu. (Spędziłem godzinę i zdałem sobie sprawę, że zaginęłem, JAVA_HOMEchociaż mam to zdefiniowane w .bashrc)

Szczęściarz
źródło