ipmi ikvm java 远程控制 与node.js资源冲突
我使用的主机用超微x9dr4f主板,一直用超微的ipmi远程控制工具来管理。
ipmi的远程控制需要用java7或jav8来支持。java9因为签名问题好像不能用。
正常情况下进入web管理页,点图片后下载launch .jnlp文件后。运行launch.jnlp
,用javaws打开。即可远程控制主机。

但是最近安装了node.js后。出现java资源冲突。
node.js占用了443端口,使得管理页不能正常显示系统当前画面。显示一个x号

下载launch.jnlp运行后提示错误

然后我百度了一下,ai说是node.js占用了443端口。
于是我就改了ipmi管理里的端口,把web ssl port 从443改成445
管理主页能显示主机当现状态的画面了,但是运行launch.jnlp还是提示错误,于是我把其他端口都改了。但还是不成功。

下载launch.jnlp还是提示错误。错误如下



我想应该和ipmi的设置没问题,于是 就把端口都改回原样。。然后找算改node.js的端口
按百度查到的办法,把node.js 的端口改成3000,
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000; // 更改端口以避免冲突
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello, IPMI-safe world!\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
但依然只能显示主机状态画面。
下载launch.jnlp,运行依然错误
折腾一在没搞明白。突然想到。java8提示的是运行失败,呃,java7提示是连接失败。。说明java7运行是成功的,只是因为443冲突,不能连接。
于是我就赶紧删除java8,.重新安装java7,把环境变量改成java7的路径。
然后登录 ipmi 显示正常,下载lanuch.jnlp,指定用javaws程序打开,然后熟悉的远程界面正常启动了。
最终问题解决。
我总结了一下,java8网络设置比java更严格,有一点设置不对都不能正常连接,java7相对来说就没那么复杂。。
如果大家有碰到java与node.js或别的javascript软件有冲突的问题,先查新两个软件有没有端口冲突,有端口冲突,两个程序的端口都换一换。然后java版本可以试试用java7,也许就能解决问题。