Web socket issues nodejs standalone app

I have a standalone nodeJs app which server html files and js files. Locally everything working fine but not working in render free plan.

here is the sample code:

/**
 * Create HTTPS server.
 */ 
 
var options = {
  key: fs.readFileSync(__dirname+'/private.key'),
  cert: fs.readFileSync(__dirname+'/certificate.pem')
};
var secureServer = https.createServer(options,app);
/**
 * Listen on provided port, on all network interfaces.
 */
secureServer.listen(app.get('secPort'), () => {
   console.log('Server listening on port ',app.get('secPort'));
});
secureServer.on('error', onError);
secureServer.on('listening', onListening);


/**
 * ################# Socket IO implementation ########################
 */
var io = require('socket.io')(secureServer);

app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use('/assets',express.static(__dirname + '/assets'));
app.use("/",router)
<script src="https://webrtc.github.io/adapter/adapter-latest.js"></script>
    <script src="/assets/js/webRtc/webRtc.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script src="/assets/js/chat.js"></script>
    <script src="/assets/js/chat-query.js"></script>
const socket = io();

socket.emit("myuser",myUserName);

socket.on('newUserConnected', ( users ) => {
  outputUsers(users);
  selectOnelineButton();
});

Locally everything works fine for below api calls:

the base address of server: https://localhost:7443

Request URL:
https://localhost:7443/socket.io/socket.io.js

Request Method:
GET

Status Code:
200 OK
Request URL:
https://localhost:7443/socket.io/?EIO=3&transport=polling&t=P4G7iEz

Request Method:
GET

Status Code:
200 OK

But only these apis not working in render platform:

Request URL:
https://imeet-don4.onrender.com/socket.io/socket.io.js

Request Method:
GET

Status Code:
404 Not Found

currently application running here: https://imeet-don4.onrender.com/
Please check.

Hi there,

On Render, SSL is terminated in our proxy and requests are forwarded over plain HTTP using our private network to your service. You don’t create HTTPS servers for Render service, just a HTTP one.

Regards,

Keith
Render Support, UTC+10 :australia:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.