|问候|
我们正在使用nest.js和socket.io开发应用程序,我想知道是否可以为此环境创建SSL连接。
以下是回购的链接:https://github.com/nokia/skilltree (最近的尝试已经在大卫分支中进行了)
我试过这个,但socket.io仍然不使用SSL连接: https://blog.cloudboost.io/everything-about-creating-an-https-server-using-node-js-2fc5c48a8d4e 他们建议:
var options = {
key: key,
cert: cert,
ca: ca
};
var https = require('https');
https.createServer(options, app).listen(443);
感谢您提前提供任何帮助
答案 0 :(得分:0)
用完全相同的问题花了一整天,这是我能找到的最佳解决方案:
const httpsOptions = {
key: key,
cert: cert,
ca: ca
};
const expressInstance: express.Express = express();
const app: NestApplication = await NestFactory.create(
MainModule,
expressInstance,
{ httpsOptions }
);
await app.listen(Environment.PORT);
使用这种方法,安全的websockets对我来说效果很好
答案 1 :(得分:0)
嵌套将选项对象作为第二个参数,该对象还包含https选项,例如:
const app = await NestFactory.create(AppModule, {
httpsOptions: {
key: 'key',
ca: 'ca',
cert: 'cert',
},
});
await app.listen(3000);
因此,无需自己创建Express实例。 尚未测试,但实际上应该可以工作。 :) 另请参阅:HttpOptions Interface NestJs