Chromium TLS 标志在无头模式下被忽略
Chromium TLS flags ignored when in headless mode
我想限制 Chromium 最多使用 TLSv1.2 协议,根据 Chromium source code 我们可以强制使用一些特定标志的 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
为什么会这样?无头模式 ignore/disable 这样的标志?
使用 puppeteer 2.1.1 附带的版本在 macOS Catalina 10.15.2 上使用 Chromium 80.0.3987.0 进行测试
The command-line flag is seen as part of our Enterprise configuration options, and I don't believe it's expected that Headless observes Enterprise flags (command-line or those set via Enterprise configuration stores, such as the Registry or Cloud Device Management)
我想限制 Chromium 最多使用 TLSv1.2 协议,根据 Chromium source code 我们可以强制使用一些特定标志的 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
为什么会这样?无头模式 ignore/disable 这样的标志?
使用 puppeteer 2.1.1 附带的版本在 macOS Catalina 10.15.2 上使用 Chromium 80.0.3987.0 进行测试
The command-line flag is seen as part of our Enterprise configuration options, and I don't believe it's expected that Headless observes Enterprise flags (command-line or those set via Enterprise configuration stores, such as the Registry or Cloud Device Management)