Как отправить HTTPS-запрос от Angular-интерфейса на сервер, защищенный самозаверяющим сертификатом? - PullRequest
0 голосов
/ 25 января 2019

Я не вижу, что не так с моим запросом из интерфейсного приложения Angular.

Ранее я отправил запрос https://thalasoft.com:8443/api/ из того же браузера и подтвердил, что все в порядке с самозаверяющим сертификатом.

Но при попытке его из внешнего приложения на https://stephaneeybert.github.io/stephaneeybert/ng-zero/login, которое отправляет запрос https://thalasoft.com:8443/api/auth/login, консоль отладки браузера показывает Status Code: 504 Gateway Timeout (from ServiceWorker)

Я должен добавить, что точно такой же логин этогоAngular front-end приложение и сервер API работают нормально, когда оба обслуживаются с моего компьютера localhost dev.Эта проблема возникает только тогда, когда внешний интерфейс Angular обслуживается с GitPages, а сервер API - с моего удаленного сервера.

1 Ответ

0 голосов
/ 25 января 2019

Проблема, с которой вы столкнулись, не имеет окончательного решения, но я хотел бы объяснить вам проблему, с которой вы столкнулись здесь.

Вы хотите сделать http-вызов с проверенного ssl-сайта на непроверенный ssl-сайт. Это означает следующее: HTTP-вызовы разрешены только на серверах того же происхождения, что означает от проверенного (доверенного) ssl-сайта до проверенного (доверенного) ssl-сайта или не ssl-не-ssl.

В вашем случае самоподписанный сертификат является (недоверенным) сертификатом, который не разрешает соединение с действительным, поскольку его нет в доверенном хранилище на сервере.

Итак, есть два решения:

  1. Добавьте самоподписанный сертификат в доверенное хранилище на сервере, на котором запускается приложение angular. (Но в вашем случае вы не можете сделать это, потому что у вас нет доступа к доверенному хранилищу gitpages.

  2. Используйте действующий сертификат. Например, из LetsEncrypt.

Нет других решений для этого случая. Я пытался найти обходной путь, но нет решения из-за политики «того же происхождения», которую я уже описал выше.

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