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

如何为Selenium ChromeDriver及Docker版Chrome添加自定义根证书?

两种方法添加自定义根CA证书到Docker化的Chrome

你有两个可行的方案来实现需求:要么把证书预安装到Docker的Chrome镜像里(一劳永逸),要么通过代码里的ChromeOptions动态加载证书(灵活度高),下面分别详细说明:

方案一:修改Docker镜像,预装根CA证书

这种方法适合长期固定使用该证书的场景,后续启动容器无需额外配置。

  1. 创建自定义Dockerfile
    在项目目录下新建Dockerfile,内容如下:
# 基于原有的selenium chrome镜像
FROM selenium/standalone-chrome-debug:3.14.0

# 复制你的根CA证书到系统证书目录(将.pem改为.crt是为了适配系统证书工具)
COPY lbsca.pem /usr/local/share/ca-certificates/lbsca.crt

# 更新系统证书缓存,让Chrome自动信任这个根CA
RUN update-ca-certificates
  1. 修改docker-compose.yml使用自定义镜像
    把原来的image字段替换为build指令,指向Dockerfile所在目录:
version: '3'
services:
  selenium-3-chrome:
    build: .  # 表示Dockerfile在当前目录
    restart: always
    environment:
      TZ: Europe/Budapest
      SCREEN_WIDTH: 1920
      SCREEN_HEIGHT: 1080
      JAVA_OPTS: -Xmx128m
    ports:
      - 4444:4444
      - 5900:5900
    volumes:
      - /dev/shm:/dev/shm
  1. 构建并启动容器
    运行docker-compose up --build,新构建的镜像就会包含你的根CA证书,Chrome会自动信任由该CA签发的所有证书。

方案二:通过ChromeOptions动态加载证书(无需修改镜像)

这种方法适合临时使用或需要切换不同证书的场景,无需重新构建镜像,只需挂载证书并在代码中配置。

  1. 修改docker-compose.yml挂载证书
    在volumes节点添加一行,将本地证书文件挂载到容器内的固定路径:
volumes:
  - /dev/shm:/dev/shm
  - /home/../rootca/lbsca.pem:/opt/chrome/certs/lbsca.pem  # 挂载本地证书到容器内
  1. 在Java代码中配置ChromeOptions
    修改你的ChromeOptions代码,添加启动参数指定自定义CA证书路径:
ChromeOptions chromeOptions = util.chromeOptions(scenario);
chromeOptions.setHeadless(true);//default-bol is az
chromeOptions.addArguments("--window-size=1366,768");
// 添加自定义根CA证书的启动参数
chromeOptions.addArguments("--ca-certificates-file=/opt/chrome/certs/lbsca.pem");

DesiredCapabilities capability = DesiredCapabilities.chrome();
capability.setCapability(ChromeOptions.CAPABILITY, chromeOptions);
// 后续代码保持不变...

注意:--ca-certificates-file参数会让Chrome仅使用指定文件作为根CA来源,如果需要保留系统默认根CA,建议采用方案一的方式合并证书。

验证生效情况

你可以访问一个由该根CA签发的HTTPS网站,若未出现证书错误则配置成功;也可以进入容器内部,执行certutil -d sql:$HOME/.pki/nssdb -L命令,查看Chrome的证书存储中是否存在你的根CA证书。

内容的提问来源于stack exchange,提问作者szakika10

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 08:43:13