修改was强制使用IPv4监听协议

在新Linux上安装Websphere 7.0时,管理控制台无法启动。问题在于Websphere默认监听IPv6而非IPv4。通过设置-Djava.net.preferIPv4Stack=true参数解决了此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在一台新Linux上安装websphere 7.0,管理控制台无法正常启动。
netstat -ntl
tcp6 0 0 :::9060 :::* LISTEN

发现was监听在IPv6上,而不是通常的IPv4。初步怀疑由于操作系统开启了IPv6,导致java默认监听在IPv6上,于是写了个简单的程序验证了这点。google很快找到两篇文章:

Networking IPv6 User Guide for JDK/JRE 5.0
http://docs.oracle.com/javase/6/docs/technotes/guides/net/ipv6_guide/index.html#ipv6-networking

Networking Properties
http://docs.oracle.com/javase/1.4.2/docs/guide/net/properties.html

看来只要设置 -Djava.net.preferIPv4Stack=ture 参数即可。

但这时遇到了困难,不知道什么原因,设置setupCmdLine.sh竟然无效,各种find + grep以及google无果。最后用了终极大法,删除 /opt/IBM/WebSphere/AppServer/java/bin/java 文件,新建了一个名为java的shell

#!/bin/sh
exec /opt/IBM/WebSphere/AppServer/java/jre/bin/java -Djava.net.preferIPv4Stack=true $@

问题终于解决,很奇怪was为何不提供个类似tomcat JAVA_OPTS的环境变量,真是太折腾人了。另外就算只监听IPv6应该也没什么问题的,不知道was有什么bug导致 dmgr 无法启动。
### 解决方案概述 当遇到 `connection refused` 的问题时,可能的原因多种多样,包括但不限于服务器未运行、防火墙阻止连接请求、服务端口配置错误等。以下是针对该问题的具体分析和解决方案。 --- #### 1. **检查目标主机的服务状态** 如果远程服务器上的特定服务(如 SSH 或其他网络服务)未启动,则会触发 `connection refused` 错误。可以通过以下命令验证服务是否正在监听指定端口: ```bash ss -tuln | grep <port> ``` 其中 `<port>` 是尝试连接的目标端口号。如果没有找到对应条目,则说明服务未正常运行或未绑定到相应端口[^1]。 --- #### 2. **确认防火墙设置** 即使服务已启动,也可能因防火墙规则而无法访问。在 Linux 系统中,可以使用以下方法临时禁用防火墙以测试连通性: 对于基于 `iptables` 的系统: ```bash sudo iptables -F ``` 对于现代的 `firewalld` 配置环境: ```bash sudo systemctl stop firewalld ``` 完成上述操作后再次尝试建立连接;若成功则表明原因为防火墙拦截所致[^2]。 --- #### 3. **调整SSH参数优化连接体验** 由于提到从Ubuntu客户端向Fedora服务器发起ssh连接存在延迟现象,在排除基本功能性障碍之后还可以考虑修改部分选项提高效率。例如关闭GSS-API认证机制能够有效减少握手过程中的耗时情况: ```bash ssh -o GSSAPIAuthentication=no user@yourserver ``` 此做法特别适用于那些不依赖Kerberos身份验证场景下的跨平台交互需求。 --- #### 4. **排查本地DNS解析性能瓶颈** 长时间等待主机名解析亦可能导致看似“拒绝”的假象。建议编辑 `/etc/ssh/ssh_config` 文件加入如下内容从而绕过不必要的名称查找环节: ```plaintext Host * AddressFamily inet ConnectTimeout 10 ``` 以上更改旨在强制使用IPv4地址形式的同时限定总的超时期限为十秒钟以内。 --- #### 5. **进一步诊断工具的应用** 假如前述措施均未能奏效,则可借助更专业的手段深入探究根本原因。比如运用tcpdump捕获实时流量数据包以便定位具体哪个阶段出现了异常中断状况: ```bash sudo tcpdump -i any port <target_port> -nn ``` 或者利用telnet直接探测目的IP与端口可达性: ```bash telnet yourserver <port> ``` 一旦发现三次握手失败迹象即可参照相关资料着手修复基础层面存在的缺陷。 --- ### 总结 综上所述,“computer connection refused”这一类报错往往涉及多方面因素共同作用的结果。需依次按照上述路径逐一核查直至锁定确切诱因为止。同时提醒注意平时维护良好习惯譬如定期更新补丁版本以及合理规划网络安全策略等等都是预防此类事件发生的关键所在。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值