2015-06-13 87 views
0

工作,我有server.js文件,其中是一些代碼Http2不明確

var express = require('express') 
var app = express() 
var fs = require('fs'); 
app.get('/', function (req, res) { 
    res.send('hello, http2!') 
}) 

var options = { 
    key: fs.readFileSync('./localhost.key'), 
    cert: fs.readFileSync('./localhost.crt') 
}; 

require('http2').createServer(options, app).listen(8080); 

之後,我在外殼

$ node server.js 

和服務器正在等待運行,但我不能打開它。我試過http://localhost:8080https://localhost:8080(我知道這是一個正確的。)。但沒有任何事情發生,沒有錯誤在瀏覽器中沒有響應,我做錯了什麼?另外.key.crt文件不是由我生成的,我只是複製它,這可能是一個問題嗎?

回答

1

確定它不是http2問題,只是Firefox不希望打開it.In鉻所有的作品都很棒https://localhost:8080/

+0

我很驚訝你得到這個工作,因爲不應該工作。你用什麼版本的表達來實現這個功能? –

+0

表達4.0.0,但爲什麼它不應該工作? – Shekspir

+0

如果您看到Tom Rogers的鏈接,那麼您應該看到它在Express 4的更高版本中不起作用。我還在最新的v5alpha2中對其進行了測試,但仍無法正常工作。理論上它將與v5的最終版本一起工作。 Express對請求對象原型進行了更改,該原型與http2模塊一起使用。 –