Проблема безопасности Firefox Websocket

У нас есть сервер веб-сокетов на порте 8080, настроенный на коробке Linode. Chrome и Opera работают просто отлично. Firefox, однако, жалуется, что операция небезопасна.

"Операция небезопасна: код 18"

Если я пытаюсь создать новый объект WebSocket в веб-консоли до загрузки страницы, все в порядке. Однако, после загрузки страницы что-то пошло, я не могу больше создавать объект. Смотрите прикрепленный скриншот.

Я понятия не имею, какая операция небезопасна или даже как диагностировать это.

3 ответа

Решение

Я исправил это. Само приложение работает по протоколу SSL, а доступ к веб-сокету - нет. Chrome и Opera не заботятся, но Firefox заботится. В соответствии с:

https://bugzilla.mozilla.org/show_bug.cgi?id=303952

Это известно и не считается ошибкой. Ответ Mozilla: wontfix

Решение, поместите сервер websocket в SSL и используйте wss: //

Как вы указали в другом ответе, https:// to ws:// по умолчанию запрещен в Firefox.

Переход к Firefox о: конфигурации и переключения network.websocket.allowInsecureFromHTTPS избавится от ошибки SecurityError.

Была та же проблема, и я попытался исправить, изменив network.websocket.allowInsecureFromHTTPS в about:config что не сработало.

Завершено обнаружение этого сообщения => Необработанное отклонение (SecurityError): операция небезопасна. В новом проекте create-react-app

Изменение этого в index.js помогло мне

serviceWorker.register();
//serviceWorker.unregister();

Это предчувствие, основанное на ограниченной информации, и мне, вероятно, следует добавить это в комментарий, но у меня пока недостаточно репутации, чтобы сделать это.

Глядя на ваш журнал, кажется, что с момента получения [object Websocket] (время 17:46:36.683), пока вы не получите The connection to ws://.....(время 17:47:00:952) сообщение об ошибке. Долгая задержка заставляет меня поверить, что сервер мог отключить тайм-аут и закрыть соединение с веб-сокетом. Посмотрите на этот ответ для потенциального решения.

Откройте URL-адрес about:config в firefox. Найдите allowInsecureFromHTTPS и установите для него значение true

Помимо безопасного контекста ssl и политик перекрестного происхождения, назначение некоторого порта также может вызвать ошибку.

Какие допустимые HTTP-порты для Firefox? Я не знаю точно, но должно быть между 1500 и 64000, или консоль отобразит:

       SecurityError: The operation is insecure.

И http-ссылки скажут:

       This address is restricted

This address uses a network port which is normally used for purposes other than Web browsing.
Firefox has canceled the request for your protection.

Другие вопросы по тегам