![](/img/trans.png)
[英]node.js - GET [[hostname]]/socket.io/1/ - 404 (Not Found)
[英]Node.js socket.io cannot GET 404 not found with Nginx reverse proxy
因此,我試圖在nodejs / socket.io中制作游戲,但是每當我將其部署在具有反向代理的服務器上均無法正常工作時,一切都在本地正常運行,但在反向代理上會出現404 not found錯誤。
應用端口為5000。
目錄結構:
├── app.js
├── client
│ ├── css
│ │ └── main.css
│ ├── fonts
│ ├── img
│ ├── index.html
│ ├── index.pug
│ └── js
│ └── main.js
├── package.json
我的app.js:
var express = require('express');
var app = express();
var serv = require('http').Server(app);
app.get('/node',function(req, res){
res.sendFile(__dirname + '/client/index.html');
});
app.use('/client',express.static(__dirname + '/client'));
serv.listen(5000);
var SOCKET_LIST={};
var io = require('socket.io')(serv,{});
index.html的:
var socket = io();
Img.player.src='client/img/player.png'; //I have more like this
Nginx的:
location ~ ^/(node|socket\.io) {
proxy_pass http://127.0.0.1:5000;
proxy_set_header Host $host;
proxy_set_header Origin http://$host;
proxy_http_version 1.1;
proxy_cache_bypass $http_upgrade;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
sub_filter /node /;
}
當我轉到myIpAdress / node /時,我得到了index.html文件,並且可以登錄到應用程序,以便socket.io可以正常工作,但無效的是外部文件'myIpAdress / node / client / img的鏈接/player.png'會顯示404錯誤。
任何想法到客戶端文件夾的路徑是什么?
嘗試添加另一個位置塊,如下所示:
location /client {
alias /path/to/client;
access_log off;
}
上面的位置塊告訴NGINX通過從本地/ path / to / client目錄提供內容來響應客戶對yourdomain.com/client/中內容的請求。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.