Брандмауэр kaspersky / avast заблокировал сообщения, когда я использую сервер websocket (сокет.io на узле.
Что можно сделать?
Брандмауэр kaspersky / avast заблокировал сообщения, когда я использую сервер websocket (сокет.io на узле.
Что можно сделать?
Я могу сказать вам 100%, что Avast, например, блокирует не только websockets, но и то, что я вижу из своего сокета.IO приложение также xhr-опрос и другие вещи.
Это неприемлемо, я даже тестировал на порту 80, и он не работает. Какая ужасная программа.
Edit:это список заблокированных портов антивирусами (мертвые 2017-07-20)
многие ISP компании блокируют порт 80, чтобы предотвратить их клиентов размещения веб-серверов на своих домашних компьютерах.
разблокировать порт 80 от провайдера может оказаться не по силам.
кроме того, насколько я знаю, Аваст не брандмауэр.
можно попробовать использовать порт 443 (который используется для HTTPS), если это возможно в вашем случае.
Первое правило брандмауэра: он не может блокировать то, что он не может чувствовать.
разрешает ли брандмауэр TLS? Если это так, подавайте контент через WSS вместо WS.
обычный клиент WSS откроет вам TLS-соединение (source) и отправить вам это:
GET /demo HTTP/1.1
Upgrade: WebSocket
Connection: Upgrade
Host: example.com
Origin: http://example.com
WebSocket-Protocol: sample
брандмауэр не может обнаружить его, поскольку он находится над TLS.
клиент HTTP-CONNECT-WSS отправит вам следующее:
CONNECT example.com:443 HTTP/1.1
Host: example.com
брандмауэр видит это как еще одно соединение HTTP-CONNECT-TLS. (source)
Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]