JavaScript WebSocket. Можно ли заставить работать(хотя бы в Firefox и Chrome) WebSocket с HTTPS странцы на HTTP?
Сайт на HTTPS но с него нужно выполнить запрос на HTTP. Можно ли это как то задекларировать в браузере чтобы сработало(хотя бы для Firefox и Chrome)? То есть если wss прописываю в New Websocket в качестве протокола, то всё нормально если ws, то выполнение скрипта после этой строчки обрывается.
И соответственно если загрузить страницу сайта по HTTP то и с ws работает.
Ответы (1 шт):
Автор решения: CalmNad
→ Ссылка
В современных браузерах запрещено использование ws со страницы https, т.к. это нарушение безопасности. На сколько знаю, настройками страницы этот вопрос не решается. Обойти можно реализовав прокси wss <-> ws на стороне сервера. Например для nginx что-то вроде:
server {
listen 443 ssl;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/cert.key;
location /3rdpartyproxy {
proxy_pass http://3rdparty_url_or_ip;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
}
}