【问题标题】:Nativescript iOS app can't connect to a self-signed local domainNativescript iOS 应用程序无法连接到自签名本地域
【发布时间】:2019-10-22 15:21:22
【问题描述】:

我尝试通过 Nativescript 上的 axios 调用本地自签名 https 域,但它总是给出“请求失败,状态码为空”错误。我发现我需要在下面添加 sn-p 以允许 iOS 应用程序的不安全 URL。

<key>NSAppTransportSecurity</key>  
<dict>  
     <key>NSAllowsArbitraryLoads</key><true/>  
</dict>

我使用tns platform clean ios 再次构建应用程序,但仍然出现同样的错误。我可以从单独的本地 Vue 项目或 Postman 访问端点。我该如何解决?

ps:如果我将 URL 公开,它可以工作,但问题是我依赖于另一个 API,它只能在本地工作。所以,我必须以某种方式在本地工作。

【问题讨论】:

  • 你是通过IP访问本地服务器还是配置了本地域名?
  • 本地域名。
  • 您使用的自签名证书不会被您的设备信任,除非您在设备上手动安装它。如果您想以编程方式执行此操作,则必须覆盖 {N} http 库中的默认 NSURLSessionTaskDelegate。

标签: vue.js axios nativescript


【解决方案1】:

我必须在 iOS 模拟器本身上安装根证书。我使用 Laravel 的 Valet 作为 API,因此将 valet 的 CA 文件夹中的 LaravelValetCASelfSigned.pem 文件拖放到模拟器并安装它。然后在常规/证书信任设置上启用它并且它工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多