如何让 Jetty 网络服务器监听 80 端口?

如何让 Jetty 网络服务器监听 80 端口?

我想使用 Jetty 作为网络服务器。

我已编辑配置文件/etc/default/jetty并设置:

# change to 0 to allow Jetty start
NO_START=0

# Listen to connections from this network host
# Use 0.0.0.0 as host to accept all connections.
JETTY_HOST=0.0.0.0

现在我可以访问 Jetty 网络服务器,http://192.168.1.10:8080但我希望 Jetty 在端口 80 上监听。

我已在同一个配置文件中尝试过此设置:

# The network port used by Jetty
JETTY_PORT=80

然后重新启动 Jetty,sudo service jetty restart但是它不起作用。

我该如何更改以便 Jetty 网络服务器监听端口 80?

答案1

您需要编辑该/etc/jetty/jetty.xml文件。查找以下段落:

<Call name="addConnector">
      <Arg>
          <New class="org.mortbay.jetty.nio.SelectChannelConnector">
            <Set name="host"><SystemProperty name="jetty.host" /></Set>
            <Set name="port"><SystemProperty name="jetty.port" default="8090"/></Set>
            <Set name="maxIdleTime">30000</Set>
            <Set name="Acceptors">2</Set>
            <Set name="statsOn">false</Set>
            <Set name="confidentialPort">8443</Set>
        <Set name="lowResourcesConnections">5000</Set>
        <Set name="lowResourcesMaxIdleTime">5000</Set>
          </New>
      </Arg>
    </Call>

将属性更改jetty.port80如下内容:

<Set name="port"><SystemProperty name="jetty.port" default="80"/></Set>

重启 jetty。这样就可以了。


由于上述方法对 OP 不起作用,并且不鼓励以 root 身份运行,因此还有一种替代方法,如下所述文档

答案2

我正在使用 Jetty 9。在文件 start.ini 中,您可以找到并修改属性jetty.port。然后您必须重新启动 jetty.service。

答案3

最好的方法是使用 xinetd(您可能需要先在您的服务器上安装它)请参见: http://wiki.eclipse.org/Jetty/Howto/Port80

相关内容