我嘗試將我的服務器更改爲HTTPS,但無法正常工作。 我的頁面顯示就像我用任何東西創建一個新的服務器。 在這種情況下,我有2個文件,app.js與express
需要和路線,我server.js執行服務器要求./app
Nodejs將服務器HTTP更改爲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頁面本地主機不工作,沒有數據已發送到本地主機。你知道這個問題怎麼樣? –
@SayuriMizuguchi - 您的代碼不會顯示任何Express路由處理程序,例如'app.get('/',function(req,res){code here})'實際處理特定請求併發送響應。 – jfriend00
@SayuriMizuguchi - 現在你的原始問題現在已經回答了,因爲你的http服務器已經啓動並正在運行。你現在有另一個問題,可能與'res.render()'和你的模板有關,這應該是一個新問題。也許你需要[註冊適當的視圖引擎](https://expressjs.com/en/guide/using-template-engines.html),但我們不應該在這裏討論這個問題。如果您需要進一步的幫助,請發佈一個新問題。你可以通過使用'res.send(「hello」)來驗證你的https服務器正在工作。 – jfriend00