Vor allem, ja ich weiß, es gibt viele verwandte Frage zu SO für ähnliche Probleme. Ich habe fast alle durchgemacht, bevor ich gefragt habe.socket.io.js nicht in der Produktionsinstanz
Ich habe ein sehr seltsames Problem, wo, socket.io.js Datei nicht von Server auf Produktion Instanz bedient wird.
Genau derselbe Code funktioniert auf meiner Entwicklungsinstanz. Der einzige Unterschied zwischen der Entwicklung und der Production-Instanz besteht darin, dass die Production-Instanz mit dem nginx-Proxy läuft, aber ich denke nicht, dass dies das Problem sein sollte.
Als ich https://my-host-name.com/socket.io/socket.io.js
ich Fehler "404 Not Found"
Nginx Protokoll gibt diesen Fehler zuzugreifen versuchen:
2017/08/17 12:01:28 [error] 30437#0: *2298619 open() "/data/api/current/socket.io/socket.io.js" failed (2: No such file or directory), client: 10.xxx.x.xx, server: , request: "GET /socket.io/socket.io.js HTTP/1.1", host: ""
Ich bin völlig ahnungslos, was los ist hier falsch. Kann mir bitte jemand helfen?
Hier ist meine Buchse confiiguration auf app.js Datei:
var server = https.createServer(app.get("httpsOptions"), app);
var socket = require('socket.io');
var io = socket.listen(server);
server.listen(app.get('port'), function(){
logger.info("Starting the express app...");
logger.info("Express server listening on port " + app.get('port'));
});
require('./routes/sockets/base')(io); // separating the socket.io related code in separate file
Ich kann mein node_modules bereits socket.io, socket.io-Adapter, socket.io-Client und socket.io-Parser sehen
Sie benötigen die Anfrage für socket.io.js, um durch NGINX zu Ihrem Express-Server (anstatt NGINX versuchen, es direkt zu Server) zu bekommen und Sie müssen den Pfad mit Ihrem zu Ihrem Express-Server zu bekommen sei '/ socket.io/socket.io.js'. Dies scheint ein NGINX-Konfigurationsproblem zu sein, und es sieht so aus, als ob es wahrscheinlich eine Art von NGINX-Konfiguration gibt, die den Pfad '/ data/api/current' ebenfalls hinzufügt. – jfriend00
Ich versuchte, die nginx conf, um zu sehen, und fügte hinzu, es folgende Zeile: alias /socket.io/ {alias /data/api/current/node/node_modules/socket.io-client/dist/} Jetzt kann ich Weitere Informationen finden Sie in der Datei socket.io.js, die über diesen Link bereitgestellt wird: https: //my-host-name.com/socket.io/socket.io.js Aber alle Abfragen sind mit 403 verbotenem Fehler fehlgeschlagen: Hier sind nginx log: Verzeichnis-Index von "/data/api/current/node/node_modules/socket.io-client/dist//" ist verboten, – undefined