jetty - 将 Jetty 绑定(bind)到 IPv6 地址

标签 jetty ipv6

我正在尝试绑定(bind) Jetty 以仅监听 IPv6 地址。我正在使用 Jetty 7.4.2.v20110526。

我的 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>    

我得到的错误:

java.net.SocketException@3d3c4c09: Address family not supported by protocol family: bind; 
at sun.nio.ch.Net.bind(Native Method)
java.net.SocketException: Address family not supported by protocol family: bind
at sun.nio.ch.Net.bind(Native Method)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
at org.eclipse.jetty.server.nio.SelectChannelConnector.open(SelectChannelConnector.java:172)
at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:297)
at org.eclipse.jetty.server.nio.SelectChannelConnector.doStart(SelectChannelConnector.java:250)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)
at org.eclipse.jetty.server.Server.doStart(Server.java:269)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:58)

我已经尝试了 ::1[::1]

如何将 Jetty 绑定(bind)到 IPv6 地址? Jetty 完全支持 IPv6 吗?

最佳答案

如果您还没有找到解决方案,请看这里。把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>

这样您就可以使用 IPv4 和 IPv6 地址访问网页。希望这会有所帮助。

关于jetty - 将 Jetty 绑定(bind)到 IPv6 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7023523/

相关文章:

java - 在 jetty 使用 NIO 与 BIO 的优势?

java - 通过启动脚本启动 Jetty 不起作用

java - 在 Intellij 之外运行 Camel 时,HttpServletRequest 转换失败

javascript - 如何在node.js中识别IPV6私有(private)地址和环回地址?

java - Spring Boot 应用程序与部署在 Tomcat/Jetty 上的 .war 文件

java - 如何在 Jetty 中向端口绑定(bind)添加重试

java - IRC的DCC协议(protocol)中如何处理IPv6

php - PHP中有没有可以检测IP类型的函数?

ssl - Shopify SSL 不适用于 CloudFlare?

android - Android 支持 Teredo 吗?