【发布时间】:2016-05-05 22:33:07
【问题描述】:
我正在尝试编写一个简单的 Node.js 服务器应用程序,它将接受客户端请求,并允许我更改要使用的 TLS/SSL 协议。它适用于浏览器(Firefox)。
但是,当我从 WebSphere Liberty Profile 调用 Node.js 服务器时,无论我尝试使用哪种 TLS/SSL 协议,都会收到非常令人困惑的错误消息:
[ERROR ] IOException invoking https://dlwester:32080/W3CookieServiceEmulator/workplace/services/w3cookie/callback/auth_data: HTTPS hostname wrong: should be <dlwester>
如您所见,它告诉我我使用了错误的主机名,但它告诉我我应该使用的主机名是我已经在使用的。我什至尝试过使用端口 443,这样我就不需要指定端口,但它仍然给我同样的错误消息。
我不确定错误是与 Node.js 还是我的 WLP 代码(使用 JAX-RS 客户端)有关。我没有在 Node.js 中找到绕过验证主机名的方法。
var options = {
key: 'my.key',
cert: 'my.cert',
ciphers: 'TLSv1.2,TLSv1.1,TLSv1.0,SSLv3',
honorCipherOrder: true,
rejectUnauthorized: false
}
server = https.createServer(options, requestListener);
所以我想这是我的第一个问题 - 我可以绕过主机名验证吗?
有没有其他人遇到过这个错误,并且知道如何解决它?
【问题讨论】:
-
你用的是什么http客户端?
-
在失败的场景中,我们使用 JAX-RS 作为客户端。
标签: node.js websphere-liberty tls1.2