访问设备上的本地开发环境以及Charles Proxy和SSL?

Eva*_*nss 11 ssl localhost device mamp-pro charles-proxy

我需要在设备上访问我的本地开发环境(MAMP Pro).我已经将此工作正常用于我的非SSL网站,但我无法让它适用于我需要SSL的网站.

我的本地开发机器和我的设备都在同一个wifi网络上.在设备的wifi设置中,我将HTTP代理设置为手动,服务器是我的开发环境IP,端口是默认的8888(尽管如果我将其更改为8080仍然有效).

我已经local.site1.com在MAMP Pro中设置了一个虚拟主机条目.该url现在可以在我的本地开发环境和设备上运行.

如果我尝试访问我的SSL站点https://local.site2.com,这适用于开发环境,但设备会给出以下消息:

Safari cannot open the page.
Run Code Online (Sandbox Code Playgroud)

错误是: "There was a problem communicating with the secure web proxy server (HTTPS).".

Charles Proxy似乎是使用hosts文件中指定的域名访问设备上的本地开发环境的标准方法,但是我很乐意使用任何有效的解决方案.

Yah*_*Hef 7

您是否尝试刷新或重新启动它?您可能需要重新检查将HTTP代理设置为手动并重新检查本地开发机器和您的设备是否在同一个wifi网络上.此外,请确保您的IP正确并且代理正在运行.


请注意,如果您对数据请求使用SSL:

- 转到代理 - >代理设置 - > SSL - >选中"启用SSL"并为您的请求添加主机和端口

- 您可能还希望从"代理"下拉列表中禁用桌面和Web代理,以便更好地隔离应用流量


您可能希望关闭蜂窝数据以确保所有流量都通过Wi-Fi/Charles Proxy运行


然后启动Charles并切换到顶部窗口中的"序列"选项卡,以查看实时制作的每个呼叫和状态,包括响应大小和持续时间.单击请求以查看底部窗格中的详细信息,包括:概述,请求,响应和摘要.

确保浏览不同数据类型的选项.例如,如果您的回复是图片,则可以看到实际的图片和尺寸.如果您的应用程序使用JSON,您可以选择JSON树导航器,也可以通过右键单击顶部"序列"选项卡中的请求来"复制响应".将结果粘贴到类似http://www.uize.com/examples/json-prettifier.html的内容中,以便于阅读输出.


在发射时,检查这些:

1.您的应用程序是否正在制作合理数量的数据请求以平衡启动时间和预取,以加快"下一页"的速度?

2.是否有任何请求获取的数据超过必要数量?

3.由于服务器配置或后端性能不佳,响应时间很长


在APP使用期间检查这些:

1.有一个共同的导航路径很慢,可以从发射时的预取中受益吗?

2.数据实际上来自缓存而不是发起新的数据请求吗?

3.是否发送了任何跟踪数据(例如Omniture,Google Analytics或其他第三方服务),如果是这样,它是否正确发送?由于编码错误,是否有任何错误或重复的请求?

4.如果您提供视频,是否选择了正确的编码/格式?(Charles可以限制速度以模仿无线电话连接.)图像的尺寸是否适合设备?


Pat*_*Pat 1

当然,OSX/iOS 不喜欢您注入的证书,因为它不是来自“受信任”的来源,而且它会直接终止连接。

您可以使用Apple Configurator将您的证书定义为来自可信来源。

来源

编辑

  1. 打开Apple Configurator应用程序并创建一个新的配置文件(准备)。
  2. 在安装选项卡上禁用“更新 iOS”,因为我们不想执行所有这些操作。我们只想注入证书。
  3. 然后进入“安装”选项卡,并在“设置”下选择证书。(由于我们无法在此 mobileconf 中包含 .pem 文件,因此我们必须将根证书转换为 .cert 文件,并且由于它已经在钥匙串应用程序中,只需将其导出为 .cert 文件,以便您可以轻松地在某个地方找到它。
  4. 返回 Apple Configurator 应用程序,您选择刚刚导出的 .cert 根证书,然后通过 USB 线将 mobileconfig 推送到您的手机/设备上。(系统将提示您接受正在安装的证书,因为它是“不受信任的”根证书,然后您按照创建者在此处解释的步骤将 .pem 证书安装到设备上。
  5. 在那里,您可以像在网络设置中设置 http 代理一样设置代理,并查看 iOS 8 上的所有 TLS 加密流量