После прочтения нескольких статей я все еще не могу установить связь с socket.io через прокси-сервер nginx.
Ниже мой ] Конфигурация nginx
:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
location ~* \.io {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
}
Вот как подключен мой node.js
экспресс-сервер:
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
Кажется, все работает нормально на моей локальной машине разработчика, т.е. Я вижу свое сообщение журнала onConnection, и все коммуникации тоже работают хорошо.
Однако на производстве мой браузер получает все допустимые ответы, но я не вижу журналов onConnection, и связь через сокет не работает.
Запросы на вкладку сети Chrome (щелкните, чтобы открыть изображение в полном размере)
O nwere ike ịbụ na a na-egbochi ọdụ ụgbọ mmiri 3000 site na firewall na sava mmepụta gị. Nwere ike ịlele ma ọ bụrụ na ọ meghere site na ị na-agba ọsọ na-esote iwu site na mpaghara gị dev igwe
telnet <ip-address-of-your-production-server> 3000
Nke a ga-anwa ịmepe njikọ maka ọdụ ụgbọ mmiri 3000 na sava mmepụta. Ọ bụrụ n'inweta oge ma ọ bụ jụ, ọdụ ụgbọ mmiri ahụ emepeghị.