所以我在GAE上部署了一个nodeJS脚本,每当我点击POST端点时,都会收到502 Bad Gateway错误。端点是一个简单的服务,它使用phantomJS抓取页面的屏幕截图,并返回包含图像的base64表示的JSON。
对此端点执行GET工作正常并返回健康的200响应,但是当我尝试POST请求时,我得到: 502 Bad Gateway
这是我的 app.yaml :
service: pdf-service
# [START runtime]
runtime: nodejs
vm: true
# [END runtime]
threadsafe: yes
# Temporary setting to keep gcloud from uploading node_modules
skip_files:
- ^node_modules$
handlers:
- url: (.*)/
script: app.js
secure: always
我的 app.js 脚本:
'use strict';
var express = require('express');
var app = express();
var cors = require('cors');
var bodyParser = require('body-parser')
var phantom = require('./phantom');
app.use(cors());
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
var tmpURL = 'https://www.google.com';
// [START hello_world]
// Say hello!
app.post('/', function(req, res) {
console.log('requrl', req.body);
phantom.takeScreenShot(tmpURL, res);
});
app.get('/', function(req, res) {
res.status(200).send({'greetings': 'Hello World'});
});
// [END hello_world]
if (module === require.main) {
// [START server]
// Start the server
var server = app.listen(process.env.PORT || 8080, function() {
var host = server.address().address;
var port = server.address().port;
console.log('App listening at http://%s:%s', host, port);
});
// [END server]
}
module.exports = app;
注意: 代码适用于我的本地环境。