|
|
@@ -1,5 +1,4 @@
|
|
|
-
|
|
|
-//引入http模块
|
|
|
+//引入http模块
|
|
|
var socketio = require('socket.io'),
|
|
|
fs = require('fs'),
|
|
|
https = require('https'),
|
|
|
@@ -23,78 +22,23 @@ var chat_interval={};
|
|
|
var LiveConnect={};
|
|
|
var LiveConnect_pull={};
|
|
|
|
|
|
-// 服务器配置 - 根据环境变量选择HTTP或HTTPS
|
|
|
-var server;
|
|
|
-var http = require('http');
|
|
|
-
|
|
|
-// 检查是否启用SSL
|
|
|
-if (process.env.SSL_MODE === 'true') {
|
|
|
- try {
|
|
|
- // SSL证书路径配置
|
|
|
- const sslPaths = [
|
|
|
- {
|
|
|
- key: '/www/server/panel/vhost/cert/yjzb.yunchao2u.com/privkey.key',
|
|
|
- cert: '/www/server/panel/vhost/cert/yjzb.yunchao2u.com/fullchain.pem'
|
|
|
- },
|
|
|
- {
|
|
|
- key: './ssl/privkey.key',
|
|
|
- cert: './ssl/fullchain.pem'
|
|
|
- },
|
|
|
- {
|
|
|
- key: './cert/privkey.key',
|
|
|
- cert: './cert/fullchain.pem'
|
|
|
- }
|
|
|
- ];
|
|
|
-
|
|
|
- let sslOptions = null;
|
|
|
- for (const paths of sslPaths) {
|
|
|
- if (fs.existsSync(paths.key) && fs.existsSync(paths.cert)) {
|
|
|
- sslOptions = {
|
|
|
- key: fs.readFileSync(paths.key),
|
|
|
- cert: fs.readFileSync(paths.cert)
|
|
|
- };
|
|
|
- console.log('使用SSL证书:', paths.key);
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (sslOptions) {
|
|
|
- server = https.createServer(sslOptions, function(req, res) {
|
|
|
- res.writeHead(200, {
|
|
|
- 'Content-type': 'text/html;charset=utf-8'
|
|
|
- });
|
|
|
- res.end();
|
|
|
- });
|
|
|
- console.log('HTTPS服务器创建成功');
|
|
|
- } else {
|
|
|
- throw new Error('未找到有效的SSL证书文件');
|
|
|
- }
|
|
|
- } catch (error) {
|
|
|
- console.log('HTTPS配置失败,切换到HTTP模式:', error.message);
|
|
|
- server = http.createServer(function(req, res) {
|
|
|
- res.writeHead(200, {
|
|
|
- 'Content-type': 'text/html;charset=utf-8'
|
|
|
- });
|
|
|
- res.end();
|
|
|
- });
|
|
|
- }
|
|
|
-} else {
|
|
|
- // 使用HTTP服务器
|
|
|
- server = http.createServer(function(req, res) {
|
|
|
- res.writeHead(200, {
|
|
|
- 'Content-type': 'text/html;charset=utf-8'
|
|
|
- });
|
|
|
- res.end();
|
|
|
- });
|
|
|
- console.log('HTTP服务器创建成功');
|
|
|
-}
|
|
|
+var options = {
|
|
|
+ key:fs.readFileSync('/www/server/panel/vhost/cert/yjzb.yunchao2u.com/privkey.key'),
|
|
|
+ cert:fs.readFileSync('/www/server/panel/vhost/cert/yjzb.yunchao2u.com/fullchain.pem')
|
|
|
+};
|
|
|
|
|
|
// redis 链接
|
|
|
var clientRedis = redis.createClient(config['REDISPORT'],config['REDISHOST']);
|
|
|
clientRedis.auth(config['REDISPASS']);
|
|
|
-
|
|
|
-server.listen(config['socket_port'], function() {
|
|
|
- console.log('Socket服务器启动成功,端口:', config['socket_port']);
|
|
|
+var server = https.createServer(options,function(req, res) {
|
|
|
+// var server = https.createServer(function(req, res) {
|
|
|
+ res.writeHead(200, {
|
|
|
+ 'Content-type': 'text/html;charset=utf-8'
|
|
|
+ });
|
|
|
+ //res.write("人数: " + numscount );
|
|
|
+ res.end();
|
|
|
+}).listen(config['socket_port'], function() {
|
|
|
+ ////console.log('服务开启19965');
|
|
|
});
|
|
|
|
|
|
var io = socketio.listen(server,{
|
|
|
@@ -107,7 +51,7 @@ var io = socketio.listen(server,{
|
|
|
//setInterval(function(){
|
|
|
//global.gc();
|
|
|
////console.log('GC done')
|
|
|
-//}, 1000*30);
|
|
|
+//}, 1000*30);
|
|
|
|
|
|
io.on('connection', function(socket) {
|
|
|
//console.log('连接成功');
|