2017-04-14 2 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の端末に何も得ていません。私はまだ「このサイトには到達できません。私はいくつかの重要なセットアップの手順を欠場ですか?私はファイルに行き、ノードnode.jsを実行しています。私はpackage.jsonファイルを作成し、npm installを実行しました。 – Ryan

+0

あなたはhttps:https:// localhost:8080/' –

+0

を試しましたか?そう、私はそのURLに行くつもりです。それはconsole.logでもない "localhost started" – Ryan

0

私はのための基本的なコードを書きました 君は 。私はそれがあなたの答えとあなたのために働くと思います。あなたがエクスプレスを使用している場合、サーバーに接続するための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ファイルを作成します。

関連する問題