|
|
@@ -23,23 +23,78 @@ var chat_interval={};
|
|
|
var LiveConnect={};
|
|
|
var LiveConnect_pull={};
|
|
|
|
|
|
-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')
|
|
|
-};
|
|
|
+// 服务器配置 - 根据环境变量选择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服务器创建成功');
|
|
|
+}
|
|
|
|
|
|
// redis 链接
|
|
|
var clientRedis = redis.createClient(config['REDISPORT'],config['REDISHOST']);
|
|
|
clientRedis.auth(config['REDISPASS']);
|
|
|
-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');
|
|
|
+
|
|
|
+server.listen(config['socket_port'], function() {
|
|
|
+ console.log('Socket服务器启动成功,端口:', config['socket_port']);
|
|
|
});
|
|
|
|
|
|
var io = socketio.listen(server,{
|