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

Если у вас была такая проблема, не могли бы вы поделиться своим решением? Спасибо!

Вернуться на верх