access server via proxied subpath

main v1.3
Benjamin Kraft 1 year ago
parent fe56f13898
commit afa99582af
  1. 9
      public/data/scripts/online.js
  2. 3
      public/data/settings/get_port.php
  3. 4
      server/src/index.ts
  4. 18
      server/src/start.ts

@ -2,10 +2,10 @@
function socketConnect(project, name = "noone"){
let urlQueries = '?game=' + project.name + '&name=' + name;
$.get('data/settings/get_port.php', port => {
let url = 'https://' + location.hostname + ':' + port + urlQueries;
socket = io.connect(url);
let url = 'https://' + location.hostname + urlQueries;
socket = io.connect(url, {
path: "/global-draw/"
});
socket.on('connect', () => {
console.log('Connected to ', url);
@ -31,7 +31,6 @@ function socketConnect(project, name = "noone"){
updateDrawType($("input[type=radio][name=type]:checked").val());
});
});
}
function sendFeedback(){

@ -1,3 +0,0 @@
<?php
echo parse_ini_file("../../../server/.env")["HTTPS_PORT"];

@ -3,5 +3,7 @@ import {StartServer} from "./start";
StartServer({
useP2P: false,
gameClass: GlobalDraw
gameClass: GlobalDraw,
subPath: "/global-draw/",
port: 3101
});

@ -3,30 +3,26 @@ import {log} from "./logger.js";
import {Server} from 'socket.io';
import {Room} from "./room.js";
import * as https from "https";
import * as fs from "fs";
import * as http from "http";
export function StartServer(settings: any){
require("dotenv").config();
const httpsPort = parseInt(process.env.HTTPS_PORT);
let cert = fs.readFileSync(`${process.env.SSL_PATH}/cert.pem`);
let key = fs.readFileSync(`${process.env.SSL_PATH}/key.pem`);
let httpServer = http.createServer();
let httpsServer = https.createServer({key: key, cert: cert});
let sIO = new Server(httpsServer, {
let sIO = new Server(httpServer, {
cors: {
origin: ["https://play.benjamin-kraft.local", "https://play.benjamin-kraft.eu"]
}
},
path: settings.subPath
});
if (settings.useP2P){
const p2p = require('socket.io-p2p-server').Server;
sIO.use(p2p);
}
httpsServer.listen(httpsPort);
httpServer.listen(settings.port);
Room.GameClass = settings.gameClass;
@ -35,5 +31,5 @@ export function StartServer(settings: any){
// On new connection
sIO.on('connection', socket => connectionManager.newSocket(socket));
log('startup', null, null, 'Server is listening on port ' + httpsPort);
log('startup', null, null, 'Server is listening on port ' + settings.port);
}
Loading…
Cancel
Save