I have a cpanel where Apache is activated and displaying my website on port 80,443 https://mydomain.io
The below setup works on port 80 but not on other ports like if I want to run this at Port 8070
I want to run nodejs on port 8070 i.e http://IP:8070
SERVER SIDE
server.js
var compression = require('compression'); var _ = require('lodash'); var express = require('express'); var server = express(); var app = require('http').createServer(server); var io = module.exports.io = require('socket.io')(app); server.use(compression()); app.get('/', (req, res) => { res.sendFile(__dirname + '/tester.html'); }); app.listen(8070, function(){ console.log('listening on *:' + 8070); }); Now when I open this IP:8070 this renders the HTML and it connects to sockets
WORKING
console.log(io.connect());
But I want to access it via mydomain.io
so If I try to go to mydomain.io/tester.html or a file locally on my pc
It doesn't connect to sockets
//NONE OF THESE WORKING!
WITH HTTP GETTING ERR:
console.log(io.connect('http://mydomain.io:8070/', { transports: ["websocket"]})); console.log(io.connect('http://localhost:8070/', { transports: ["websocket"]})); console.log(io.connect('http://localhost/', { transports: ["websocket"]})); console.log(io.connect('http://mydomain.io/', { transports: ["websocket"]})); console.log(io.connect()); GETTIG ERR: Mixed Content: The page at '<URL>' was loaded over HTTPS, but attempted to connect to the insecure WebSocket endpoint 'ws:<URL>/socket.io/?EIO=3&transport=websocket'. This request has been blocked; this endpoint must be available over WSS. WITH HTTPS NOT WORKING
console.log(io.connect('https://mydomain.io:8070/', { transports: ["websocket"]})); console.log(io.connect('https://localhost:8070/', { transports: ["websocket"]})); console.log(io.connect('https://localhost/', { transports: ["websocket"]})); console.log(io.connect('https://mydomain.io/', { transports: ["websocket"]})); WITH PORT 80 ITS WORKING BUT NOT ON ELSE
BUT if I run my server.js at port 80 and stopping apache using service httpd stop
then it works with mydomain.io/tester.html or a file locally on my pc
var socket = io.connect('wss://mydomain.io'); //Socket Address WOKRING 