即使 Expressjs 中存在错误处理程序,AWS 也会显示它自己的错误屏幕
Posted
技术标签:
【中文标题】即使 Expressjs 中存在错误处理程序,AWS 也会显示它自己的错误屏幕【英文标题】:AWS showing it's own error screen even when the error handler exists in Expressjs 【发布时间】:2021-10-05 19:23:41 【问题描述】:app.use((err, req, res, next) =>
if (err.type === 'entity.too.large')
res.send(
'<p align="center">Please upload an image below the defined limit of 5 MB. <br> Click <a href="/create">here</a> to visit the upload page again.</p>'
)
else res.redirect('/')
)
我有这段代码来捕捉错误。但是 AWS 仍然显示这个而不是预期的文本。
应用托管在 Elastic Beanstalk 的 EC2 实例中。
【问题讨论】:
【参考方案1】:使用以下文件夹结构创建proxy.conf
文件。
根目录应该有 .platform 文件夹。
.platform\nginx\conf.d\proxy.conf
并在根文件夹中粘贴此代码。
client_max_body_size 50M;
large_client_header_buffers 4 32k;
fastcgi_buffers 16 32k;
fastcgi_buffer_size 32k;
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
【讨论】:
您的意思是将代码粘贴到proxy.config
文件中吗?
@AnshAgarwal 是的。以上是关于即使 Expressjs 中存在错误处理程序,AWS 也会显示它自己的错误屏幕的主要内容,如果未能解决你的问题,请参考以下文章
在 ExpressJS 响应中返回异步等待 try/catch 抛出错误 [重复]
请求的资源上不存在“Access-Control-Allow-Origin”标头。 ExpressJs