简体   繁体   English

chrome-aws-lambda Amazon linux 2 出现错误:套接字挂断

[英]chrome-aws-lambda Amazon linux 2 getting Error: socket hang up

Background: I have this code working in AWS linux AMI with node 8 for lambda.背景:我有此代码在 AWS linux AMI 中使用节点 8 用于 lambda。 Since Amazon has discontinued node 8 in lambda I have been working on transitioning to node 10 which now uses the Amazon linux 2. Since upgrading I have been unable to get past the error: socket hang up issue.由于亚马逊已停止使用 lambda 中的节点 8,我一直致力于过渡到现在使用 Amazon linux 2 的节点 10。自从升级以来,我一直无法解决错误:套接字挂断问题。

Version sets版本集

  • Node v10.18.1节点 v10.18.1
  • chrome-aws-lambda 2.0.2 chrome-aws-lambda 2.0.2
  • puppeteer 2.0.0傀儡师 2.0.0
  • Amazon Linux release 2 (Karoo)亚马逊 Linux 第 2 版 (Karoo)

Snippet of code:代码片段:

console.log('start 1')
try {
        // create the browser session and page. Then go to url 
        const browser = await puppeteer.launch({
            // devtools: true
            args: chrome.args,
            defaultViewport: chrome.defaultViewport,
            executablePath: await chrome.executablePath,
            headless: chrome.headless,   
        })

        console.log('start 2')

        const page = await browser.newPage()

        console.log('starting browser logic')

        // set page timeout out milisecods, currently 2
        page.setDefaultTimeout(pageTimeOut)

        // goes to webpage waits for network traffic to die off
        const [startPage] = await Promise.all([
            page.goto(url),
            page.waitForNavigation({waitUntil: "networkidle0"})
        ])

Error: The Error occurs at await puppeteer.launch错误:错误发生在 await puppeteer.launch

bash-4.2# node run.js
starting check: LoginCheck
start 1
ErrorEvent {
  target:
   WebSocket {
     domain: null,
     _events:
      [Object: null prototype] { open: [Function], error: [Function] },
     _eventsCount: 2,
     _maxListeners: undefined,
     readyState: 3,
     protocol: '',
     _binaryType: 'nodebuffer',
     _closeFrameReceived: false,
     _closeFrameSent: false,
     _closeMessage: '',
     _closeTimer: null,
     _closeCode: 1006,
     _extensions: {},
     _receiver: null,
     _sender: null,
     _socket: null,
     _isServer: false,
     _redirects: 0,
     url:
      'ws://127.0.0.1:41553/devtools/browser/cd72d3b1-e70e-4a34-aa65-351ef1857587',
     _req: null },
  type: 'error',
  message: 'socket hang up',
  error:
   { Error: socket hang up
       at createHangUpError (_http_client.js:323:15)
       at Socket.socketOnEnd (_http_client.js:426:23)
       at Socket.emit (events.js:203:15)
       at Socket.EventEmitter.emit (domain.js:448:20)
       at endReadableNT (_stream_readable.js:1145:12)
       at process._tickCallback (internal/process/next_tick.js:63:19) code: 'ECONNRESET' } }

我能够通过安装以下 AWS linux 2 库来解决此问题。

pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 alsa-lib.x86_64 gtk3.x86_64 xorg-x11-fonts-100dpi xorg-x11-utils xorg-x11-fonts-Type1 xorg-x11-fonts-misc xorg-x11-fonts-cyrillic xorg-x11-fonts-75dpi ipa-gothic-fonts atk.x86_64 GConf2.x86_64 avahi.x86_64 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM