Charles 使用过程中遇到问题

本文主要介绍了在使用Charles进行网络抓包时遇到的SSL证书相关问题。在iOS10.3之后,系统对于自定义证书的信任设置发生了变化,导致HTTPS请求失败。解决方案在于手动在设备的「设置」-「关于本机」-「证书信任设置」中开启对Charles Proxy Custom Root Certificate的信任。这个问题可能表现为部分APP无法正常请求网络,或者手机无法打开特定SSL链接。通过调整端口号和配置信任证书,可以成功解决此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、部分APP无法正常请求网络;网页能打开,但是显示的全是HTML代码。

解决: 我之前设置的端口号是8888, 我改为8899就解决了。

2、手机安装证书,无法打开chls.pro/ssl

解决: 应该也是端口号问题,更改端口号后,手机就能通过该网址下载证书了。

3、SSL Proxying not enabled for this host: enable in Proxy Settings, SSL locations

在这里插入图片描述

解决如下:
在这里插入图片描述在这里插入图片描述

4、You may need to configure your browser or application to trust the Charles Root Certificate. See SSL Proxying in the Help menu.

在这里插入图片描述

解决如下:

iPhone系统更新到iOS 10.3后, https的请求都会失败, 提示错误信息为Failure SSLHandshake: Received fatal alert: unknown_caYou may need to configure your browser or application to trust the Charles Root Certificate. 然而之前任何问题都没有,并且相关设置都正确: Mac上安装了Charles的根证书, 并且设置了始终信任, 然后手机上也登录了http://chls.pro/ssl安装了描述文件, 一切都按正常程序走的, 但是错误始终无法解决.

相关环境:

Charles 4.2

iPhone 7P iOS 11.0.2

原因
设置->通用->描述文件->charles proxy custom root certificate

虽然charles的根证书已经在安装列表中显示,但它是被关闭的。在iOS 10.3之前,当你将安装一个自定义证书,iOS会默认信任,不需要进一步的设置。而iOS 10.3之后,安装新的自定义证书默认是不受信任的。如果要信任已安装的自定义证书,需要手动打开开关以信任证书。

解决
设置->通用->关于本机->证书信任设置-> 找到charles proxy custom root certificate然后信任该证书即可.
在这里插入图片描述

<think>我们正在解决CharlesSSL代理未启用的问题。用户的具体需求是启用指定主机的SSL代理。 根据Charles的常规操作,启用SSL代理通常有两种方式:全局启用或针对特定主机启用。 用户的问题中提到了“for host”,因此我们需要指导用户如何为特定主机启用SSL代理。 步骤: 1. 确保Charles正在运行,并且已经配置了SSL证书(在设备和Charles中都需要安装证书)。 2. 在Charles中,可以通过以下方式启用SSL代理: a. 方法一:通过菜单栏 - 打开Charles,进入菜单栏的"Proxy" -> "SSL Proxying Settings"。 - 在出现的窗口中,选择"SSL Proxying"选项卡。 - 在"Locations"部分,点击"Add"按钮。 - 在"Host"字段输入要代理的主机名(如:example.com),"Port"字段可以输入443(默认)或使用通配符*(表示所有端口)。 - 点击"OK"保存。 b. 方法二:通过右键菜单 - 在Charles的"Structure"视图或"Sequence"视图中,找到你想要启用SSL代理的请求(该请求应该是HTTPS的)。 - 右键点击该请求,选择"Enable SSL Proxying"。 - 这样会自动将该主机添加到SSL代理设置中。 3. 添加后,确保SSL代理功能是启用的(在Proxy菜单中,确保"SSL Proxying"是勾选状态)。 注意:如果之前没有安装Charles的根证书,需要先安装。安装方法: - 在Charles中,选择Help -> SSL Proxying -> Install Charles Root Certificate(在Charles本机)或Install Charles Root Certificate on Mobile Device or Remote Browser(用于移动设备或远程浏览器)。 由于用户的问题比较具体,我们直接给出操作步骤。 相关问题: 1. 如何在Charles中安装根证书? 2. 如何验证CharlesSSL代理是否正常工作? 3. CharlesSSL代理设置不生效怎么办?</think>### 启用 Charles 中特定主机的 SSL 代理 在 Charles 中为特定主机启用 SSL 代理的步骤如下: 1. **打开 SSL 代理设置** - 顶部菜单栏选择 `Proxy` → `SSL Proxying Settings` - 或使用快捷键 `Ctrl+Alt+S`(Windows) / `Cmd+Option+S`(Mac) 2. **添加目标主机** 在弹出窗口的 `SSL Proxying` 选项卡中: - 点击 `Add` 按钮 - 在 `Host` 栏输入域名(如 `example.com`) - `Port` 栏可填 `443` 或使用通配符 `*`(表示所有端口) - 点击 `OK` 保存 ![图示:添加主机界面](https://www.charlesproxy.com/assets/img/ssl-proxying-add-location.png) 3. **启用代理功能** - 确保菜单栏 `Proxy` → `SSL Proxying` 已勾选(默认启用) - 若未启用,点击一次即可激活 4. **验证配置** 访问目标网站的 HTTPS 链接: - 成功时:Charles 会显示明文 HTTPS 请求 - 失败时:连接显示为 `SSL Proxying not enabled for this host` > ⚠️ **前置要求**: > - 必须在设备和浏览器中[安装 Charles 根证书](https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/) > - iOS/Android 设备需配置 Wi-Fi 代理指向 Charles 主机[^1] --- ### 常见问题排查 | 问题现象 | 解决方案 | |----------|----------| | 仍显示加密流量 | 1. 检查证书是否过期<br>2. 重启 Charles 和设备<br>3. 清空浏览器 SSL 状态 | | 连接被拒绝 | 关闭防火墙或杀毒软件的 SSL 扫描功能 | | macOS 提示证书无效 | 钥匙串访问中手动信任证书 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值