Назад | Перейти на главную страницу

Не удается подключиться к серверу через wss

У меня есть файл nginx.conf, указанный ниже, для обработки http и https. В настоящее время я использую самозаверяющий сертификат для тестирования по ssl.

server {
    listen      80;
    listen      443 ssl;
    server_name  localhost;
    ssl_certificate /etc/nginx/ssl/nginx.crt;
    ssl_certificate_key /etc/nginx/ssl/nginx.key;

location / {
    proxy_pass http://node:8000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /socketcluster/ {
    proxy_pass http://node:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $host;
}

Когда я пытаюсь подключиться через localhost. http, https и ws: // вроде работают нормально. Однако, когда клиент пытается подключиться через wss: //. я получаю ошибку ниже

WebSocket connection to 'wss://localhost:80/socketcluster/' failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR

мой журнал nginx показывает это -

nginx       | 172.18.0.1 - - [25/Aug/2016:20:34:51 +0000] "\x16\x03\x01\x00\x7F\x01\x00\x00{\x03\x02\xB0\x80r\xEEH\x8C\x03\xAFFw\x9A4\xC2\x84\xB6\xD9\x9E;|\xDFbD\x1D\xF6)Ai\xB3<C\x13O\x00\x00\x10\xC0" 400 173 "-" "-"
Is there something additional i have to be adding to the nginx conf file to get wss:// to work?

Следует ли у вас подключение к 443? например wss: // локальный: 443 / socketcluster /.

порт 80 не настроен для ssl и поэтому не отвечает на подтверждение ssl.

Равно (как Вот) вы можете позвонить напрямую без указания порта (порты по умолчанию 80 и 443), например. wss: // localhost / socketcluster /.