IOS 真实设备无法连接到 AWS 上的 HTTPS 服务器

IOS Real Device Failing to Connect to HTTPS Server on AWS

我一直在使用 React Native 构建一个应用程序,直到现在我都在本地做所有事情。我需要使用真实设备完成开发,因为无法在本地完成最终功能。我对 IOS 和 React Native 很陌生。我创建了一个正常运行的 EC2 实例,并为负载均衡器建立了一个 https 证书。我可以通过 Postman 连接,但是当我尝试启动应用程序并使用真实设备登录时,出现以下错误:

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>"

我试过的:

我希望我可以说我已经尝试过与代码相关的更改,但由于这对我来说是全新的,所以我唯一的办法就是谷歌搜索,不幸的是,我发现的大部分内容都与开发人员试图在本地连接真实设备有关设备想要使用 https。我正在使用 https,所以我很困惑为什么会出现这个问题。

提前致谢。

您的负载均衡器正在为 www.moder8.net 提供证书,但您通过 web-server-load-balancer-staging-815978603.us-west-1.elb.amazonaws.com 访问它,因此域名不匹配。

您需要更改负载平衡器以提供与域匹配的证书,或者在您的域上设置 DNS 以转到您的负载平衡器。