當使用https.request與node.js的v04.7,我得到以下錯誤:插座掛斷電話時https.request在node.js中
Error: socket hang up
at CleartextStream.<anonymous> (http.js:1272:45)
at CleartextStream.emit (events.js:61:17)
at Array.<anonymous> (tls.js:617:22)
at EventEmitter._tickCallback (node.js:126:26)
簡化代碼,會產生錯誤:
var https = require('https')
, fs = require('fs')
var options = {
host: 'localhost'
, port: 8000
, key: fs.readFileSync('../../test-key.pem')
, cert: fs.readFileSync('../../test-cert.pem')
}
// Set up server and start listening
https.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'})
res.end('success')
}).listen(options.port, options.host)
// Wait a second to let the server start up
setTimeout(function() {
var clientRequest = https.request(options, function(res) {
res.on('data', function (chunk) {
console.log('Called')
})
})
clientRequest.write('')
clientRequest.end()
}, 1000)
我得到的錯誤,即使在服務器和客戶端上運行不同的節點實例,並與港口8000,3000,443,並使用和不使用SSL證書進行測試。我在我的Ubuntu機器上安裝了libssl和libssl-dev。
任何想法可能是什麼原因?
哇,謝謝@Quentin。很簡單。我有選項哈希定義,但忘了把它傳遞給createServer。 – baalexander 2011-08-09 16:18:14