将Jetty绑定到IPv6地址

将Jetty绑定到IPv6地址,jetty,ipv6,Jetty,Ipv6,我正在尝试绑定Jetty以只侦听IPv6地址。我使用的是Jetty 7.4.2.v20110526 my jetty.xml: <Call name="addConnector"> <Arg> <New class="org.eclipse.jetty.server.nio.SelectChannelConnector"> <Set name="host">::1</Set> <Se

我正在尝试绑定Jetty以只侦听IPv6地址。我使用的是Jetty 7.4.2.v20110526

my jetty.xml:

<Call name="addConnector">
  <Arg>
      <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">
        <Set name="host">::1</Set>
        <Set name="port"><SystemProperty name="jetty.port" default="8070"/></Set>
        <Set name="maxIdleTime">30000</Set>
        <Set name="Acceptors">2</Set>
        <Set name="confidentialPort">8443</Set>
      </New>
  </Arg>
</Call>    
我尝试了
::1
[::1]


如何将Jetty绑定到IPv6地址?Jetty支持IPv6吗?

旧版本的Sun JRE不支持NIO通道上的IPv6,因此只需升级JVM即可


如果您还没有找到解决方案,就在这里。将NIO连接器更换为IO连接器。不要使用“org.mortbay.jetty.nio.SelectChannelConnector”而使用“org.mortbay.jetty.bio.SocketConnector”,整个连接器配置将为:

<Call name="addConnector">
  <Arg>
      <New class="org.mortbay.jetty.bio.SocketConnector">
        <Set name="port"><SystemProperty name="jetty.port" default="8070"/></Set>
        <Set name="maxIdleTime">50000</Set>
        <Set name="lowResourceMaxIdleTime">1500</Set>
      </New>
  </Arg>
</Call>

50000
1500

这样,您将能够使用IPv4和IPv6地址访问该网页。希望这能有所帮助。

Jetty可能在Java下运行,并且
preferIPv4Stack=true
禁用了IPv6。@Steve-o我没有设置此属性。在前面的测试中,我创建了一个
ServerSocket
,它可以毫无问题地侦听
[::1]:9999
。Java与此无关。你确定:@Steve-o Yep,你是对的。把它作为答案贴出来,我会接受的。这个答案对这个问题无效。这个问题显然使用了Jetty 7+(带有org.eclipse.Jetty名称空间)。你的回答只对Jetty 6有效。
<Call name="addConnector">
  <Arg>
      <New class="org.mortbay.jetty.bio.SocketConnector">
        <Set name="port"><SystemProperty name="jetty.port" default="8070"/></Set>
        <Set name="maxIdleTime">50000</Set>
        <Set name="lowResourceMaxIdleTime">1500</Set>
      </New>
  </Arg>
</Call>