websphere - 让 WebSphere 监听 IPv4

标签 websphere websphere-8 ipv4

我有一个 WebSphere 应用程序服务器 8,我在其中部署了一个企业应用程序。现在我想让该应用程序的 Web GUI 可以访问。因此,我设置了一个端口 (9080),添加了一个 Web 容器传输链,为端口 9080 添加了一个虚拟主机,并将该虚拟主机添加到了我部署的应用程序中。但是,无法访问。

深入研究 WebSphere 的日志,我发现了这条消息:

TCPC0001I: TCP Channel TCP_6 is listening on host *  (IPv6) port 9080.

很明显,该 channel 在 IPv6 上监听,而不是在 IPv4 上监听。我用netstat验证了这一点,它确实表明服务器的进程只监听IPv6。如何让 channel 在 IPv4 上监听?我已经尝试在服务器的 JVM 中设置 java.net.preferIPv4Stack=true,但这并没有改变任何内容。

有趣的是,Websphere 的控制台可通过 IPv4 访问,但我无法弄清楚它的哪一部分配置不同,以便它可以工作,而我的设置却不能。

最佳答案

在许多操作系统上,通配符地址(*::/0)上的 IPv6 套接字可以接受 IPv4 和 IPv6 连接。例如,在 Mac OS 上,netstat 将显示诸如 tcp46 之类的套接字,以表明它们是双堆栈的。其他操作系统(包括 Linux)只是将它们显示为 tcp6,即使它们也接受 IPv4 连接。

所以它可能在 IPv4 上监听得很好,这只是向系统管理员显示它的一种令人困惑的方式。

关于websphere - 让 WebSphere 监听 IPv4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36742756/

相关文章:

c++ - WSAStringToAddress 失败

Websphere 上的 Java -Twitter API 访问问题

ejb - 使用 XA 的 JMS session 和 JPA 事务

httpclient - 为 RestTemplate 设置 Http 连接池时的 Websphere 问题

Nginx 代理通行证 - 禁用 ipv6

mysql - Golang Net.IP 到 IPv6(来自 MySQL)作为 Decimal(39,0) 转换?

java - 如何在 Docker 上的 WebSphere 上运行特定配置文件?

java - 使用 TLSv1 甚至协议(protocol)配置为 SSL_TLSv2 的应用程序

java - 插入 XML 列时如何解决 "Illegal Conversion"异常?

gradle - 您如何指定 IBM WAS 上的运行时依赖关系?