node.js - 微信小程序后臺 apache 反向代理 nodejs ,上傳無效文件時,返回錯誤響應?
問題描述
微信開發工具返回正常
{ code: 2, msg: ’無效的文件’ }
微信客戶端返回
Bad Gateway! The proxy server received an invalid response from anupstream server.
apache
httpd-ssl.conf
<VirtualHost _default_:443> ProxyPass /mina http://127.0.0.1:3000 ProxyPassReverse /mina http://127.0.0.1:3000 SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1</VirtualHost>
node
koa 框架
koa-multer 中間件,處理上傳文件
文件過大或類型錯誤時,拋出錯誤
處理錯誤中間件
async function errorHandler (ctx, next) { try { await next() } catch (err) { let msg = parseError(err) ctx.body = { code: 2, msg } ctx.type = ’application/json’ }}
問題解答
回答1:找到原因了,是pm2的關系,一拋錯誤就重啟,catch也沒用,微信開發工具和客戶端,網絡處理應該不一樣
