У меня есть установка приложения node/express.js/socket.io
на сервере Ubuntu, работающем на порту 3002. Я открыл все порты на машине.NGINX с Express.js & socket.io | Не удается GET
Когда я иду на 11.111.111.1:3002/
, все работает отлично (оба socket.io & express.js). Я пытаюсь прокси обойти приложение /mediaDev/
, который, кажется, работает в том, что я получаю сообщение об ошибке от express.js или узла, который говорит:
«не может получить/mediaDev»
Где либо не найти приложение узла возвращает 502 Bad Gateway.
Но, перейдя непосредственно к приложению на моем IP-адресе плюс порт, приложение работает отлично, как и ожидалось.
упрощенный NGINX:
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
location ~ ^/mediaDev {
proxy_pass http://localhost:3002;
}
}
node.js, связанный с содержанием обслуживающего:
var app = express()
app.user(bodyParser.urlencoded({ extended:false}))
app.use(bodyParser.json())
app.set('views', path.join(__dirname, 'views'))
app.set('view engine', 'ejs')
app.get('/', function (req, res) {
res.render('index')
})
var server = app.listen(PORT, function() {
console.log("listening on port 3002")
})
var io = require('socket.io')(server, {
path: '/mediaDev/socket.io'
})
Примечания: по IP-адресу оба express.js и socket.io работают. На фактическом домене экспресс вернула ошибку, но мой путь socket.io /mediaDev/socket.io
все еще работает.
Я думал, что это было немного странно. Если я прокси-сервер, передающий /mediaDev
и создающий мой путь socket.io /mediaDev/socket.io
, не должен ли я ожидать ошибку, а на самом деле - /mediaDev/mediaDev/socket.io
?
Вы пытаетесь проксировать все подключение к порту 3002 или просто прокси socket.io? – jAndy
Все соединение –