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.