我正在使用pubsub将消息推送到灵活环境中的节点中编写的App Engine应用程序中。有没有办法可以限制我的端点只限于来自pubsub的流量?
在标准环境中,App Engine具有可以定义仅管理请求和安全端点的处理程序。但是,此功能在灵活环境中不可用。是否可以仅针对Google请求设置防火墙规则(防火墙似乎是应用程序范围,而不是端点?),是否有标准方法来保护端点或我是否需要自定义解决方案?
答案 0 :(得分:1)
原来Google已发布了此in the docs的解决方案。
解决方案是:
在app.yaml环境中创建令牌:
env_variables:
PUBSUB_TOPIC: <your-topic-name>
# This token is used to verify that requests originate from your
# application. It can be any sufficiently random string.
PUBSUB_VERIFICATION_TOKEN: <your-verification-token>
发送带有您留言的令牌:
https://YOUR_APP_ID.appspot.com/pubsub/push?token=YOUR_TOKEN \
--ack-deadline 10
检查推送处理程序中的令牌:
if (req.query.token !== PUBSUB_VERIFICATION_TOKEN) {
res.status(400).send();
return;
}
RTFM!