我尝试将我的服务器更改为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