配置 Jetty 以接受来自 Ubuntu Lucid 上所有主机的连接

配置 Jetty 以接受来自 Ubuntu Lucid 上所有主机的连接

我想要 Jetty 为端口 8080 上的任何主机提供连接服务。我的/etc/default/jetty文件有:-

NO_START=0
JETTY_HOST=
JETTY_PORT=8080

该服务器是基于 Lucid Lynx 32 位服务器 AMI 的 EC2 小型实例。APT 配置为启用了 Multiverse,并且启用了规范合作伙伴存储库。Jetty 是来自合作伙伴存储库的 6.1.22。

当我使用启动 jetty 时sudo /etc/init.d jetty start,它可以工作,并且监听来自本地主机的连接,但不监听任何其他主机的连接:-

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

如果您能告诉我为什么我的 Jetty 配置似乎没有监听其他主机,我将非常感激!

答案1

找到啦!你需要:-

JETTY_HOST=0.0.0.0

监听其他主机。因此,最小的 /etc/default/jetty 文件包括:-

JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
NO_START=0
JETTY_HOST=0.0.0.0
JETTY_PORT=8080 

答案2

对于想要在 Ubuntu 上使用带有 Sun Java JDK 的 Jetty 的任何人,都需要更改以下文件/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.

这就是在 ubuntu 上运行 jetty 所需要的全部内容。 (我花了一个小时才意识到我错过了什么,JAVA_HOME尽管我已经在中定义了它.bashrc

相关内容