Я сделал небольшую конфигурацию nginx для перенаправления трафика на сокет unix, прослушиваемый сервером daphne
(сервер, используемый для django
).
Согласно документации:
Если вы используете Daphne для всего трафика, он автоматически согласовывает HTTP и WebSocket, поэтому нет необходимости размещать ваши WebSockets на отдельном порту или пути.
Поэтому я хотел бы проксировать как веб-сокеты, так и HTTP-трафик в один и тот же сокет unix.
Является ли это возможным?
Как я мог сделать?
Вот что я пробовал до сих пор:
upstream django_ws {
server unix:///path/to/ws.sock;
}
server {
listen 8082;
server_name 127.0.0.1;
charset utf-8;
root /path/to/root;
set $myroot $document_root;
location / {
proxy_pass http://django_ws;
#proxy_http_version 1.1;
#proxy_set_header Upgrade websocket;
#proxy_set_header Connection upgrade;
}
}
Если я раскомментирую строки в блоке местоположения, страница будет пустой.
Если я этого не сделаю, страницы появятся, но веб-сокеты, похоже, не работают.
Как я мог это решить?
Все отлично работает с сервером разработки.