Websocket HTTPS для перехода на более раннюю версию HTTP

У меня довольно простой вопрос! Я хочу загрузить сервер WS: // через HTTPS-соединение. Есть ли способ принудительно использовать WS поверх WSS без ввода данных пользователем?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
0
283
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать сервер nginx для его прокси.

Это будет означать, что вы подключаетесь к серверу nginx вместо конечного пункта назначения.

Во-первых, вам нужно настроить LetsEncrypt (или другой сертификат).

Технически вы можете сгенерировать свой собственный сертификат, но если вы это сделаете, тогда браузер не будет доверять этому соединению - вы можете обойти это, посетив этот сайт напрямую и приняв его перед загрузкой другого сайта. Хотя это боль. Поверьте мне. LetsEncrypt работает очень хорошо после того, как вы его настроили. Но, возможно, вам придется сделать это по-другому, если у вас нет доменного имени.

Подобное правило nginx могло бы стать хорошей отправной точкой;

server {
  listen 443 ssl;
  server_name  _;

  location / {
    auth_basic            "Restricted";
    proxy_pass http://your.destination.com;  # Note the http rather than ws.

    # WebSocket support
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_read_timeout 86400;

    # SSL
    ssl_certificate /etc/nginx/ssl/yoursite.net.cert;
    ssl_certificate_key /etc/nginx/ssl/yoursite.net.key;
    ssl_trusted_certificate /etc/nginx/ssl/yoursite.net.fullchain;
  }
}

После настройки вы подключаетесь к этому серверу, который обертывает ваше веб-соединение в сертификат и пересылает его.

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