У меня есть веб-приложение React, размещенное на AWS в одном кластере https://example1.com
, и я пытаюсь вызвать API через Axios в React, который размещен в другом кластере https://example2.com/api/login
и в настоящее время использует самозаверяющий сертификат,Я хочу проверить, все ли работает по HTTPS.API написан на Java и имеет набор заголовков Access-Control-Allow-Origin: *
.Я получаю сообщение об ошибке CORS при вызове API.
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example2.com/api/login. (Reason: CORS request did not succeed).
Не работает и при тестировании моего приложения React на https://localhost
.
Мое веб-приложение React связано с помощью веб-пакета,Для локальной разработки я использую webpack-dev-server, а для производственных сборок сервер Node.js используется только для обслуживания страниц.Сервер Node.js не является HTTPS.Сервер Node.js на https://example1.com
развернут для производственных сборок через Docker через пользовательский порт.
Другие внешние API, такие как Eventbrite, Meetup, Google Places и Google Книги, работают нормально.
DoМне нужно выполнить какие-либо специальные настройки в React / Node.js, чтобы заставить это работать?
cURL также выдает следующую ошибку при запуске curl -X POST https://example2.com/api/login
curl: (60) Peer's certificate issuer has been marked as not trusted by the user.
More details here: http://curl.haxx.se/docs/sslcerts.html
curl performs SSL certificate verification by default, using a "bundle" of Certificate Authority (CA) public keys (CA certs). If the default bundle file isn't adequate, you can specify an alternate file using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in the bundle, the certificate verification probably failed due to a problem with the certificate (it might be expired, or the name might not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use the -k (or --insecure) option.
Запуск curl -X POST https://example2.com/api/login -k
работает.
Аналогично, в Почтальоне я могу заставить работать API только при отключенной проверке SSL.
Примечание: Все работает, когдавсе хосты находятся на HTTP.