iOS 版本4.11.1下稳定复现
Mac 版本 4.5.0 (1595)稳定复现
Mac复现方式非常简单:
nginx服务器,配置为
stream{
map "$ssl_client_verify$ssl_server_name" $upstream {
~SUCCESS srv_proxy;
default srv_none;
}
server{
ssl_verify_client optional;
proxy_pass $upstream;
}
}
如果访问者带了证书,upstream就会是srv_proxy。如果访问者不带证书,upstream就是srv_none
在surge配置文件里面配置
HK = https, www.target.server, 443, client-cert=1211111111111
使用Mac测试时
- 先点主窗口-策略-代理-HK,测试---通过srv_proxy
2.主窗口-更多-脚本-脚本编辑器,执行----通过srv_proxy(脚本里面没有证书,预期结果是srv_none)
$httpClient.get("https://www.target.server,/");
删除代理HK
执行脚本,通过srv_none
iOS上复现步骤更为复杂,但是逻辑类似