如何仅允许从指定的IP访问App Engine?

时间:2015-11-24 15:20:40

标签: python google-app-engine authentication

我正在Python中的GAE上构建一个简单的POST处理程序,它将接受POST并将其写入Cloud SQL数据库。

我想将此应用的访问权限限制为有限数量的IP - POST来自的非GAE网络服务器。 基本上,如何从我的IP中允许POSTS并禁止所有其他流量?

看起来像一个简单而常见的操作,但我还没有找到适合的在线解决方案。大多数GAE身份验证和路由包都是围绕用户身份验证构建的。

我应该在哪里寻找解决方案?我应该使用哪些Google关键字?这是应该写入应用程序本身还是应该专注于GCP的另一个组件以进行IP访问和路由?

谢谢!

1 个答案:

答案 0 :(得分:1)

所有归功于Paul Collingwood,提醒我存在request.remote_addr。

这是我现在的解决方案:

E11000 duplicate key error index

我不完全确定我的ALLOWED_IP = ['173.47.xx.xx1', '173.47.xx.xx2'] class PostHandler(webapp2.RequestHandler): def post(self): # Read the IP of the incoming request ip = self.request.remote_addr # If the IP is allowed, execute our code if ip in ALLOWED_IP: # Execute some awesome code # Otherwise, slam the door! else: self.error(403) 用法在这里是合适的,但这是有效的!从允许的IP发出的POST请求被接受并执行。所有其他人都给了403.

我总是渴望听到改进建议。