Не могу подключиться к моему узлу AWS через безопасное (https) соединение - PullRequest
0 голосов
/ 28 апреля 2020

Я работаю над карточной игрой для 2 игроков. Две страницы, обращенные к клиенту, размещены на страницах Github, а сервер узлов работает на AWS.

Все работает нормально, когда я локально просматриваю свои страницы на стороне клиента, но при попытке открыть их на страницах Github я получить эту ошибку:

Смешанное содержимое: страница в '' была загружена через HTTPS, но запросила небезопасную конечную точку XMLHttpRequest ''. Этот запрос был заблокирован; содержимое должно обслуживаться по протоколу HTTPS.

Итак, я изменяю URL-адрес подключения, чтобы включить http s следующим образом:

var socket = io.connect("https://ec2-18-191-142-129.us-east-2.compute.amazonaws.com:3000");

И я получаю эту ошибку:

index. js: 83 GET https://ec2-18-191-142-129.us-east-2.compute.amazonaws.com: 3000 / socket.io /? EIO = 3 & transport = polling & t = N71Cs6 c net :: ERR_SSL_PROTOCOL_ERROR

Вот мои группы безопасности:

Security Groups

Нужно ли что-то делать с сертификатом SSL? Возможно ли это даже с моей текущей настройкой, так как у меня нет доступа к домену, на котором я размещаю (Github Pages). Если это невозможно, есть ли какие-либо онлайн-сервисы, на которых я могу разместить свой клиентский код и получить сертификат SSL, или мне нужно купить домен и хостинг? Любая помощь приветствуется, но, пожалуйста, попробуйте объяснить это, потому что я очень новичок во всем этом. Спасибо.

Ответы [ 2 ]

1 голос
/ 03 мая 2020

Как уже упоминал alcyon, переход с HTTP на HTTPS не позволяет вашему приложению работать по HTTPS. Есть много способов достичь этого. Ознакомьтесь с подробным руководством по AWS для вашего варианта использования по адресу https://aws.amazon.com/premiumsupport/knowledge-center/configure-acm-certificates-ec2/.

1 голос
/ 30 апреля 2020

Ec2 не поддерживает https, как этот («из коробки»).

Существует несколько способов сделать это, но я предлагаю вам создать балансировщик нагрузки приложения (* 1004). *), а затем настройте на нем https (https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html).

Другое решение может использовать Cloudfront или настроить https непосредственно на экземпляре (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-amazon-linux-2.html ).

Надеюсь, что это имеет смысл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...