【发布时间】:2019-03-17 13:40:56
【问题描述】:
我尝试访问的网站有 ssl 证书错误
我正在使用这个版本的 puppeteer "puppeteer": "1.13.0"。
当我尝试 await page.goto('http://bad_ssl_certificate_website') 时,我仅在 google cloud 上出现超时错误。
TimeoutError:导航超时:
但是,它在 MAC 上本地工作得非常好。
我认为问题在于我的网站的 ssl-certificate-errors,因为如果我尝试使用“google.com”,它在两种环境中都可以正常工作。 我使用https://www.sslshopper.com检查ssl证书,它提到了这一点。
并非所有网络浏览器都信任该证书。你可能需要 安装中间/链证书以将其链接到受信任的根 证书。了解有关此错误的更多信息。您可以通过以下方式解决此问题 按照适用于您的 DigiCert 的证书安装说明 服务器平台。注意中间部分 证书。
当我使用旧版本的 puppeteer 时,我在 本地 也遇到了问题。 我看到了完全相同的错误
'TimeoutError: Navigation Timeout Exceeded:'
更新到最新版本的 puppeteer 修复了只在本地运行 puppeteer,但没有修复 puppeteer 在 google cloud
上运行这就是我设置 puppeteer 吃午饭的方式。
const browser = await puppeteer.launch({
headless: true,
ignoreHTTPSErrors: true,
args: [
"--proxy-server='direct://'",
'--proxy-bypass-list=*',
'--disable-gpu',
'--disable-dev-shm-usage',
'--disable-setuid-sandbox',
'--no-first-run',
'--no-sandbox',
'--no-zygote',
'--single-process',
'--ignore-certificate-errors',
'--ignore-certificate-errors-spki-list',
'--enable-features=NetworkService'
]
});
我发现了一些相关的问题: https://bugs.chromium.org/p/chromium/issues/detail?id=877075
【问题讨论】:
-
天哪!你的配置救了我的命。 2 天,我试图让剧作家作品从 docker 到我当地的自我认证网站。我必须阅读 chrome 文档来搜索“-ignore-certificate-errors-spki-list”并到达这里。这应该在剧作家和傀儡文档中寻求帮助
标签: ssl-certificate google-cloud-functions chromium puppeteer headless