Node.js 木偶演员(chromium)无法在nodejs生产服务器上工作
我有一个后端api,它接收前端发送的HTML字符串,并使用Puppeter生成pdf文件,然后将原始数据返回前端Node.js 木偶演员(chromium)无法在nodejs生产服务器上工作,node.js,puppeteer,backend,chromium,Node.js,Puppeteer,Backend,Chromium,我有一个后端api,它接收前端发送的HTML字符串,并使用Puppeter生成pdf文件,然后将原始数据返回前端 exports.createPdf = async (req, res) => { const { resumeContent, pageSize } = req.body; const browser = await puppeteer.launch(); const page = await browser.newPage(); await
exports.createPdf = async (req, res) => {
const { resumeContent, pageSize } = req.body;
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setContent(resumeContent);
const resumePdf = await page.pdf(
{
margin: {
top: '20px',
bottom: '20px'
},
format: pageSize
}
);
await browser.close();
const base64ResumePdf = resumePdf.toString('base64');
res.set({
'Content-Type': 'application/pdf',
'Content-Length': base64ResumePdf.length
});
res.send(base64ResumePdf);
};
在当地环境中,所有这些都能完美工作
但是,在生产(和UAT)服务器上,请求状态总是挂起30秒,然后变为取消。如果我双击取消的请求,它将进入我们官方网站的404页面,没有任何有用的信息。
我只能怀疑木偶演员不能在真正的服务器上正常工作。
可能对打开Chrome有一些限制或认证
有人对如何解决此问题提出建议吗?
我们的生产服务器在AWS EC2上,所以我似乎需要进行一些EC2或lambda操作