サーバーをHTTPSに変更しようとしましたが、正常に動作しません。 私のページは、何かを使って新しいサーバーを作成するようなものです。私は、サーバーを実行するために2つのファイル、express
必要とルートでapp.js、そして私のserver.jsを持っている。この場合 は./app
NodejsサーバーのHTTPSからHTTPSへの変更
マイapp.js(サーバー側)が必要です:
var express = require('express'); // app server
var bodyParser = require('body-parser'); // parser for post requests
var http = require('http');
var https = require('https');
//all endpoints is inside my app.js
var app = express();
// endpoints here
//code .. code with routes, code...
module.exports = app;
マイserver.js(サーバー側):
var fs = require('fs')
var server = require('./app');
var port = process.env.PORT || process.env.VCAP_APP_PORT || 3000;
var options = {
key: fs.readFileSync('certificates/xxx.key'),
cert: fs.readFileSync('certificates/xxx.cer')
};
server.listen(port, options, function() {
console.log('Server execute here %d', port);
});
たぶん私は一つだけのファイルで一つのサーバを作成することができ、初心者の質問ですが、私はこのような場合に作成する方法を知らない...
誰かが私がこのケースの使用で間違ったことをして説明するのを助けることができますか?
こんにちは@のjfriend00を、あなたの助けに感謝します。私はあなたの例をして、私はこのエラーが発生します:ERR_EMPTY_RESPONSEページlocalhostは動作しません、データはlocalhostに送信されていません。どのように問題があるのか分かっていますか? –
@SayuriMizuguchi - あなたのコードでは、実際に特定の要求を処理して応答を送信するために、 'app.get( '/'、function(req、res){code here})'などのExpressルートハンドラは表示されません。 – jfriend00
@SayuriMizuguchi - httpサーバが起動して実行中であることから、元の質問に答えているようです。おそらく 'res.render()'と新しい質問になるはずのテンプレートに関連する別の問題があります。おそらくあなたは[適切なビューエンジンを登録する]必要がありますが(https://expressjs.com/en/guide/using-template-engines.html)、ここでその問題について議論すべきではありません。それ以上の助けが必要な場合は、新しい質問を投稿してください。 'res.send(" hello ")'を使うだけで、httpsサーバーが動作していることを確認できます。 – jfriend00