如何让socket.io 同时支持http和https

这是我的代码

const Koa=require('koa');
const http=require('http');
const https=require('https');
const app=new Koa();
const fs = require('fs');
const enforceHttps = require('koa-sslify');

const config = require('./config');
const options = {
    key: fs.readFileSync('./XXXXXXXXX.key'),  //ssl文件路径
    cert: fs.readFileSync('./XXXXXXXXX.cer')  //ssl文件路径
};
const https_server = https.Server(options, app.callback());
const http_server = http.Server(app.callback());

//创建socket对象 io
const io = require('socket.io')(https_server,{pingTimeout: 30000});

//转换http 请求为https
app.use(enforceHttps({redirectMethods:['GET']}));
app.use(bodyparser());

io.attach(http_server);

http_server.listen(config.debug?3000:80);
https_server.listen(config.debug?3002:443);

请问大家如何做到node 中 正常的get 和post 和socket.io 兼容http 和https请求!

阅读 5.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题