You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.Net环境下信任Fiddler证书后仍出现证书异常

解决方案建议

1. 把Fiddler根证书导入Docker容器的系统信任存储

Docker容器默认的根证书列表里没有Fiddler的证书,这是导致证书链验证失败的核心原因,手动导入即可解决:

  • 先导出Fiddler根证书:打开Fiddler → 顶部菜单栏Tools → Options → HTTPS选项卡 → 点击Export Root Certificate to Desktop,桌面会生成FiddlerRoot.cer文件。
  • 将这个证书文件复制到你的Docker镜像构建目录,然后在Dockerfile中添加以下步骤(根据镜像基础系统选择对应代码):
    # 适用于Debian/Ubuntu系的.NET官方镜像
    COPY FiddlerRoot.cer /usr/local/share/ca-certificates/FiddlerRoot.crt
    RUN update-ca-certificates
    
    # 适用于Alpine系的.NET镜像
    COPY FiddlerRoot.cer /usr/local/share/ca-certificates/FiddlerRoot.crt
    RUN apk add --no-cache ca-certificates && update-ca-certificates
    
  • 重新构建镜像并启动容器。

2. 让.NET应用单独信任Fiddler证书(无需修改系统证书)

如果不想改动容器的系统证书配置,可以直接在.NET代码里指定信任Fiddler证书:

  • 把导出的FiddlerRoot.cer复制到项目目录,右键文件→属性→设置复制到输出目录为“始终复制”。
  • 在应用启动代码(比如Program.cs)里添加证书信任逻辑:
    using System.Security.Cryptography.X509Certificates;
    using System.Net.Security;
    
    var builder = WebApplication.CreateBuilder(args);
    
    // 加载Fiddler根证书
    var certPath = Path.Combine(AppContext.BaseDirectory, "FiddlerRoot.cer");
    var fiddlerCert = new X509Certificate2(certPath);
    
    // 全局信任该证书
    ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) =>
    {
        // 要么证书是Fiddler根证书,要么本身证书验证无错误,都返回信任
        return cert.Equals(fiddlerCert) || sslPolicyErrors == SslPolicyErrors.None;
    };
    
  • 打包镜像时确保证书被正确包含进镜像内。

3. 确认容器的代理配置指向Fiddler

Docker容器需要把HTTP/HTTPS请求转发到Fiddler才能被捕获,运行容器时要设置代理环境变量:

# Windows/macOS环境直接运行
docker run -e HTTP_PROXY=http://host.docker.internal:8888 -e HTTPS_PROXY=http://host.docker.internal:8888 你的镜像名称

# Linux环境需要额外添加主机映射
docker run --add-host=host.docker.internal:host-gateway -e HTTP_PROXY=http://host.docker.internal:8888 -e HTTPS_PROXY=http://host.docker.internal:8888 你的镜像名称

注:8888是Fiddler默认监听端口,如果你修改过端口,要替换成对应数值。

4. 检查Fiddler的HTTPS解密配置

确保Fiddler的HTTPS解密功能已经正确开启:

  • 打开Fiddler的Tools→Options→HTTPS,勾选Decrypt HTTPS traffic,并确认选中...from all processes选项。
  • 重启Fiddler让配置生效。

内容的提问来源于stack exchange,提问作者Alperen Öz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 00:42:39