Django-каналы и проблема с подключением Firefox
Я использую django-channels в качестве конечной точки сокетов в проекте django, я разработал чат реального времени с использованием django-channels, протестировал, развернул на Ubuntu поверх docker и использую NGINX в качестве веб-сервера, он работает довольно круто, сделал много тестов.
Однако один из моих студентов живет в Объединенных Арабских Эмиратах, когда он тестирует сокет не работает с браузерами Firefox и Safari, в консоли JS говорит: cant't establish a connection to the server at wss://site.com
.
Мы сделали очистку кэша в его браузерах, но все равно безрезультатно
Обратите внимание, что: Другие люди даже в UAE, он работает очень хорошо :(
)Я думаю, что это может быть проблема с моей конфигурацией NGINX, так что вот она:
upstream site_template_wsgi {
server localhost:9002;
}
upstream site_template_asgi {
server localhost:9003;
}
server {
root /var/www/site_template;
server_name site.com www.site.com;
location / {
proxy_redirect off;
proxy_set_header host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://site_template_wsgi;
}
location /socket/ {
proxy_pass http://site_template_asgi;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/site.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/site.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.site.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = site.com) {
return 301 https://$host$request_uri;
} # managed by Certbot
server_name site.com www.site.com;
listen 80;
return 404; # managed by Certbot
Если у вас была такая проблема, не могли бы вы поделиться своим решением? Спасибо!