2017-04-14 60 views
1

我對節點非常陌生,並且查找過如何簡單地設置節點服務器。我覺得我已經設置正確,但是當我去https://localhost:8080/它說「網站無法到達」。控制檯沒有記錄任何內容。我已經經歷了許多類似的問題,但還沒有解決方案幫助我。我跑NPM init和NPM安裝,這裏是我的代碼:設置節點服務器(https)

var Express = require('express'); 
var Https = require('https'); 
var Fs = require('fs'); 

var app = Express(); 
var port = process.env.EXPRESS_PORT || 8080; 
var options = { 
    key: fs.readFileSync('key.pem'), 
    cert: fs.readFileSync('cert.pem') 
}; 
console.log("helloo?"); 

express.createServer(options, function (req, res) { 
    console.log("hi") 
    res.writeHead(200); 
    res.end("hello world\n"); 
}).listen(8080); 

回答

1

有在代碼中的許多錯別字,使它的工作我已經做了改變。

創建,你必須使用內置的Node.js https模塊,並通過將您的證書以創建https服務器HTTPS服務器,如下

轉到 - https://localhost:8080/

響應:

{ message: "this is served in https" }

var express = require('express'); 
var https = require('https'); 
var fs = require('fs'); 

var app = express(); 
var port = process.env.EXPRESS_PORT || 8080; 
var options = { 
    key: fs.readFileSync('key.pem'), 
    cert: fs.readFileSync('cert.pem') 
} 
console.log("helloo?"); 

app.get('/', function(req, res) { 
    res.json({ 
     message: 'this is served in https' 
    }) 
}) 

var secure = https.createServer(options, app); // for express 

secure.listen(port, function() { 
    console.log('localhost started on', port) 
}) 

// for just node server request listener 

/* https.createServer(options, (req, res) => { 
    res.writeHead(200); 
    res.end('hello world\n'); 
}).listen(port); */ 
+0

所以我複製了你的東西,我仍然沒有得到任何東西在終端console.log,我仍然得到「本網站無法到達」。我是否缺少一些關鍵的設置步驟?我只是去文件和運行節點server.js。我創建了一個package.json文件並運行npm install。 – Ryan

+0

你試過https:'https:// localhost:8080 /' –

+0

是的,我正要去那個網址。它甚至沒有console.log「本地主機啓動」 – Ryan

0

我寫了一個基本的代碼你。我認爲它會適用於你的答案和你。試試這個。其他的事情是,如果你使用express,那麼不需要導入http模塊來連接服務器。我已經評論了一些代碼,嘗試一個接一個。

var express = require('express'); 
 
var app = express(); 
 
const fs = require('fs'); 
 
//const http = require('http'); 
 

 
app.set('port',process.env.PORT || 3000); 
 

 
app.get('/',function(req, res){ 
 
    res.send('Hellow World'); 
 
}); 
 

 
const fileName = __dirname + '/test.txt'; 
 
fs.readFile(fileName, (err, data) => { 
 
    if (err) { 
 
     console.error(err); 
 
    }console.log('Done!'); 
 
    console.log(data.toString()); 
 
}); 
 

 
//or 
 
/* 
 
const data = fs.readFileSync(fileName); 
 
console.log(data.toString()); 
 
*/ 
 

 
//below code will print whatever characters inside test.txt into test-copy.txt file 
 
/* 
 
const filename = __dirname + '/test.txt'; 
 
const outFileName = __dirname + '/test-copy.txt'; 
 

 
const readStream = fs.createReadStream(filename); 
 
const writeStream = fs.createWriteStream(outFileName); 
 

 
readStream.pipe(writeStream); 
 

 
readStream.on('data', data => { 
 
    console.log(data.toString()); 
 
}); 
 
*/ 
 
app.listen(app.get('port'), function(){ 
 
    console.log('Server listenning at port 3000'); 
 
});

首先,你必須創建test.txt文件,裏面寫的東西它。接下來,如果您嘗試註釋代碼,請創建tezt-copy.txt文件。