Проблема безопасности 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.