user1055761
user1055761

Reputation: 1071

Block a URL path on Google Appengine

I would like to block a specific path (e.g. https://myapp.appspot.com/foo/bar) from being accessed on the server such that the caller gets a 404 or something to that extent. Please note that I have regex based handlers installed (e.g. /foo/.* - will trigger Handler) so by default the /app/foo/bar is being directed to this Handler. I would like to add a specific handler for '/foo/bar' at a higher level before the lower /app//).

One way to do this is to add url handler and direct it to a not_found app handler such as:

- url: /foo/bar.*
script: not_found.app

If there is a better way to do this, please care to share and will be highly appreciated.

Essentially, I have a rogue client who is using a bot to hit my server continuously and is consuming undesired resources. The specific URL being called by this bot is one that I could completely disable. If there are any tips on how one could use such URL's and direct them to a lower priority instance then that would be also very helpful.

Btw, I have already added a range of IP's being used by this bot to dos.yaml. But that has not helped since it keeps changing its IP-Address.

I am sure this is a pretty typical scenario which the web-masters have expert advice on (any help/recommendation is highly welcomed - pardon my pedestrian question).

Upvotes: 2

Views: 438

Answers (1)

Alex Martelli
Alex Martelli

Reputation: 882481

You can force-route requests to any module of your choosing with dispatch.yaml:

dispatch:
- url: "*/foo.bar"
  module: cheapmodule

and then in cheapmodule.yaml you make sure you have at most a single instance of the cheapest kind, say basic scaling with instance_class B1 and max_instances 1 (not sure what happens if cheapmodule is specified to have zero instances, e.g manual scaling with instances 0, or instances 1 to start but then on its _ah/start handler it calls google.appengine.api.modules.modules.set_num_instances_async(instances, module='cheapmodule') -- perhaps worth experimenting with).

Upvotes: 4

Related Questions