puppeteer - 在无头模式下忽略 Chromium TLS 标志
问题描述
我想限制 Chromium 最多使用 TLSv1.2 协议,根据Chromium 源代码,我们可以强制使用一些特定标志的 TLS 版本。
如果我使用这样的标志正常运行 Chromium
./Chromium --ignore-certificate-errors --ssl-version-min=tls1 --ssl-version-max=tls1.2 --tlsv1 --tlsv1.1 --tlsv1.2 https://104.17.209.9
我最终会按预期看到 TLSv1.2 握手。如果我在无头模式下运行相同的命令,Chromium 最终会使用 TLSv1.3。
./Chromium --headless --ignore-certificate-errors --ssl-version-min=tls1 --ssl-version-max=tls1.2 --tlsv1 --tlsv1.1 --tlsv1.2 https://104.17.209.9
为什么会这样?无头模式忽略/禁用此类标志?
使用 puppeteer 2.1.1 附带的版本在 macOS Catalina 10.15.2 上使用 Chromium 80.0.3987.0 进行测试
解决方案
根据这个铬问题:
命令行标志被视为我们企业配置选项的一部分,我不认为 Headless 会观察企业标志(命令行或通过企业配置存储设置的那些,例如注册表或云设备管理)
推荐阅读
- flutter - 如何在 Flutter 中创建类型别名?
- laravel - 使用 october cms 插入数据库 postgres
- firefox - 在 FireFox uBlock Origin 中,如何在正斜杠后阻止任何内容?
- android-ndk - 如何使用android ndk 用介子编译glib 2.66?
- r - 使用 ggplot 创建折线图
- reactjs - 减少 Jhipster React 和 spring boot 构建时间
- javascript - 如何在组件内以角度创建模块?
- python - python - 当值是系列或数据框时,应用(lambda x:...)函数应用于字典值
- apache-kafka - 我们不能在 Kafka 中加入两个表并获取数据吗?
- html - 这即使将 html、body 和 div 设置为 height=100%,高度也不会填满整个页面