python - 消除滋扰实例启动
问题描述
我的 GCP 应用已被一些用户滥用。为了阻止他们的使用,我试图消除可能被滥用的功能,并使用防火墙规则来阻止某些用户。但是不良用户继续尝试通过某些旧 URL(例如myapp.appspot.com/badroute )访问我的应用程序。当然,我仍然希望用户使用默认 URL myapp.appspot.com。
我已按以下方式更改了我的代码,但我仍然让实例从它们开始,并且我不希望在这种情况下使用实例。我能做些什么来避免坏的实例启动或者我能做些什么来强制这些实例快速停止而不是在大约 15 分钟后停止?
class Dummy(webapp2.RequestHandler):
def get(self):
logging.info("Dummy: " )
self.redirect("/")
app = webapp2.WSGIApplication(
[('/', MainPage),
('/badroute', Dummy)],debug=True)
(当我应该指的是请求时,我可能指的是实例。)
解决方案
那么目标是什么?您希望访问 /badroute 的用户被重定向到某个 /goodroute 吗?或者您希望 /badroute 不影响 GAE 并产生成本?
将谷歌云负载均衡器放在前面可能会有所帮助。
对于第一种情况,您可以设置重定向规则(尽管您也可以直接在 App Engine 中执行此操作,就像您在代码示例中所做的那样)。
如果您只是希望它不命中应用程序引擎,您可以设置谷歌云负载均衡器以将 /badroute 路由到 GCS 存储桶中的某个文件,而不是您的 GAE 服务
https://cloud.google.com/load-balancing/docs/https/ext-load-balancer-backend-buckets
但是,您将无法使用您的 *.appsot.com 基本网址。您将获得一个静态 IP,然后您应该将自定义域映射到它
推荐阅读
- blazor - 在应用程序启动时调用代码方法(无需调用@onclick)
- python - 存储顺序工作流的正确数据结构或库
- javascript - 带 Vega 的区域范围图
- python - 将由空格分隔的数字字符串解析为列表 python
- java - 从 Netbeans 11.2 启动 tomcat9 失败
- c - 当我打开 IAR Embedded (ARM) 项目时它自动关闭,我看不到发生了什么,我找不到任何解决方案,我也写了 IAR 团队但没有答案
- node.js - Twitter 身份验证的 Firebase cookie 问题
- sql - 我需要每天查询一天中特定时间间隔之间发生的值的总和
- php - 检查嵌套数组值,如果匹配:合并两者的数据
- javascript - 在 Selenium Python 中单击元素未触发事件(事件键不在数据文件中)