open-graph-scraper (NodeJs) 不使用代理 return 响应主体

open-graph-scraper (NodeJs) doesn't return response body with the use of proxy

我正在使用 open-graph-scraper 和文档中提到的代理。它在正常启动时工作正常。例如,当我 运行 节点程序使用 node server.js它returns结果如下

{ "ogDescription": "Node.js scraper module for Open Graph and Twitter Card info", 
  "ogTitle": "open-graph-scraper", 
  "ogUrl": "https://www.npmjs.com/package/open-graph-scraper", 
  "ogSiteName": "npm", 
  "twitterCard": "summary", 
  "twitterUrl": "https://www.npmjs.com/package/open-graph-scraper", 
  "twitterTitle": "npm: open-graph-scraper", 
  "twitterDescription": "Node.js scraper module for Open Graph and Twitter Card 
    info",
  "ogImage": { "URL": 
  "https://static.npmjs.com/338e4905a2684ca96e08c7780fc68412.png", "width": null, 
  "height": null, "type": "png" }, "ogLocale": "en", "ogDate": "2021-08- 
  10T00:29:36.453Z", "charset": "utf8", "requestUrl": 
  "https://www.npmjs.com/package/open-graph-scraper", "success": true 
}

但是当我尝试使用 docker 容器 运行 相同的程序时,结果如下所示。基本上,它没有响应主体。

{ "charset": null, 
  "requestUrl": "https://www.npmjs.com/package/open-graph-scraper", 
  "success": true 
}

这是我的 docker 文件。

FROM node:14

FROM keymetrics/pm2:latest-alpine

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

EXPOSE 3000 22 3128

CMD [ "pm2-runtime", "start", "server.js" ]

这是我用来 运行 docker 图片的命令。

docker run -it --rm -p 3000:3000 <container-name>

如果有人能为此提供解决方案,我将不胜感激。

我找到了这个问题的解决方案。它基本上是 docker 文件中的 PM2 配置。按照 docker 文件解决了这个问题。

FROM node:14
FROM keymetrics/pm2:14-alpine


WORKDIR /usr/src/app


COPY package*.json ./
RUN npm install


COPY . .

EXPOSE 3000 22 3128
CMD [ "pm2-runtime", "start", "server.js" ]