Реальное устройство IOS не может подключиться к серверу HTTPS в AWS - PullRequest
0 голосов
/ 27 декабря 2018

Я создавал приложение с использованием React Native и до сих пор делал все локально.Мне нужно закончить разработку с реальным устройством, так как финальные функции не могут быть сделаны локально.Я очень новичок в IOS и React Native.Я создал работающий экземпляр EC2 и установил сертификат https для балансировщика нагрузки.Я могу подключиться через Почтальон, но при попытке запустить приложение и войти в систему с реальным устройством я получаю следующую ошибку:

Task <0E556862-E230-40C9-B070-C0C36B158718>.<5> load failed with error Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “web-server-load-balancer-staging-815978603.us-west-1.elb.amazonaws.com” which could put your confidential information at risk." UserInfo={NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, _kCFStreamErrorDomainKey=3, NSErrorPeerCertificateChainKey=(
    "<cert(0x10b044200) s: www.moder8.net i: Amazon>",
    "<cert(0x10b044a00) s: Amazon i: Amazon Root CA 1>",
    "<cert(0x10b045200) s: Amazon Root CA 1 i: Starfield Services Root Certificate Authority - G2>",
    "<cert(0x10b045a00) s: Starfield Services Root Certificate Authority - G2 i: Starfield Class 2 Certification Authority>"
), NSErrorClientCertificateStateKey=0, NSErrorFailingURLKey=https://web-server-load-balancer-staging-815978603.us-west-1.elb.amazonaws.com/auth/login, NSErrorFailingURLStringKey=https://web-server-load-balancer-staging-815978603.us-west-1.elb.amazonaws.com/auth/login, NSUnderlyingError=0x28246e820 {Error Domain=kCFErrorDomainCFNetwork Code=-1202 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, kCFStreamPropertySSLPeerTrust=<SecTrustRef: 0x28182f0f0>, _kCFNetworkCFStreamSSLErrorOriginalValue=-9843, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9843, kCFStreamPropertySSLPeerCertificates=(
    "<cert(0x10b044200) s: www.moder8.net i: Amazon>",
    "<cert(0x10b044a00) s: Amazon i: Amazon Root CA 1>",
    "<cert(0x10b045200) s: Amazon Root CA 1 i: Starfield Services Root Certificate Authority - G2>",
    "<cert(0x10b045a00) s: Starfield Services Root Certificate Authority - G2 i: Starfield Class 2 Certification Authority>"

Что я пробовал:

Хотелось бы сказать, что я попробовал изменения, связанные с кодом, но, поскольку это все для меня в новинку, я прибегал к поиску в Google, и, к сожалению, большая часть того, что я нашел, связана с разработчиками, пытающимися локально подключиться креальное устройство, поскольку устройство хочет использовать https.Я использую https, поэтому меня смущает, почему возникла эта проблема.

Заранее спасибо.

1 Ответ

0 голосов
/ 27 декабря 2018

Ваш балансировщик нагрузки представляет сертификат для www.moder8.net, но вы получаете к нему доступ через web-server-load-balancer-staging-815978603.us-west-1.elb.amazonaws.com, поэтому доменные имена не совпадают.

Вам необходимо либо изменить балансировщик нагрузки напредоставьте сертификат, соответствующий домену, или настройте DNS в своем домене, чтобы перейти на балансировщик нагрузки.

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