Разработчик Grettings, это мой первый quetion, поэтому не стесняйтесь сказать мне, есть ли у меня что-то неправильно.WebSocket на IE10 дает SecurityError
Fisrt, прошу прощения, если мой английский немного «сломан», это не мой родной язык. Надеюсь, я не говорю тарабарщину.
В настоящее время я занимаюсь разработкой веб-сайта под IE10 (в Windows 8) с использованием WebSockets в JavaScript. Он отлично работает под Firefox 18 и Chrome 25, но в IE10 я получаю SecurityError, когда устанавливаю соединение.
То, что я делаю, кажется, довольно straghtforward:
websocket = new WebSocket('wss://hello.dev.mydomain.net');
Но IE не нравится:
SCRIPT5022: SecurityError
Сценарий на "https://test.dev.mydomain.net" (не реальный адрес, очевидно).
Меня беспокоит то, что если я просто дважды щелкнул файл на своем локальном компьютере (например, файл: // ...), он просто работает. Даже самое худшее: если я использую fiddler для мониторинга HTTP-трафика ... он также работает. В то время как, кажется, нет никакой связи без скрипача, как описано в спецификациях API. (См. Ниже.)
Судя по this, исключение должно также появляться в Chrome/Firefox ... но это не так. Поэтому я сомневаюсь, что это связано с HTTP/HTTPS. В любом случае, я использую сокет wsS на странице httpS ... Кроме того: когда я заменяю wss-адрес на другой действительный сервер, найденный в онлайн-примере, он работает.
Я не знаю, является ли это актуальным, но IP из test.dev.mydomain.net является 10.14.x.x, где hello.dev.mydomain.net - 194.247.x.x. Я не знаю, может ли это вызвать какую-либо защиту только для IE ...
Одна (более?) Последняя вещь: У меня есть сертификат для * .dev.mydomain.net, IE, похоже, не имеет проблемы с ним. Сценарий оригинально находится на сервере с именем my.name.dev.mydomain.net, но поскольку я обращаюсь к нему с другого URL-адреса (я получил перенаправление, так как мы сначала подумали, что это может быть какая-то проблема с одной и той же проблемой происхождения) Посмотрите, как это может иметь значение. По крайней мере, я надеюсь, что это не так ...
Любая идея приветствуется.
EDIT: добавление сайтов в доверенную зону также не работает.
Эта проблема также возникает в FireFox, по крайней мере, в последней версии как для Windows, так и для OSX. – juminoz
У меня была аналогичная проблема, но запуск с 'https: // www.websocket.org/echo.html' на адрес' ws: // '. По-видимому, это не позволяет открывать веб-сайты без SSL с страниц SSL, поэтому мне пришлось перейти на «http: // www.websocket.org/echo.html», и все было в порядке. –
Правильный смешанный контент обычно блокируется, когда защищенная страница обращается к незащищенным элементам. Переключение websocket из протокола 'ws: //' в secure'wss: // 'будет обходить это, но ваш websocket должен реализовать безопасный сокет, а используемый сертификат должен быть доверен, как и любой другой сертификат SSL (либо вручную установлен или Trusted - RootCA-Intermediate). Это должно быть похоже на проблемы, которые вы получите, загружая небезопасный тег 'http: //' '' с страницы secure'https: // ', хотя и менее прозрачный из сообщения об ошибке/ошибке. – tresf