dos.yaml Reference

The dos.yaml file provides the controls to denylist IP addresses or subnets to protect your app from Denial of Service (DOS) attacks or similar forms of abuse. For more information, see Creating App Engine firewall rules.

By default, App Engine serves a generic error page to denylisted addresses. You can configure your app to serve a custom response instead. For details, see the appengine-web.xml reference on static error handlers.


The following is an example dos.yaml file:

- subnet:
  description: a single IP address
- subnet:
  description: an IPv4 subnet
- subnet: 2001:DB8::1
  description: an IPv6 address
- subnet: 2001:DB8::/32
  description: an IPv6 subnet


A dos.yaml file at any location in your application source code configures DoS Protection Service denylists for your application. The syntax of dos.yaml is the YAML format. For more information about this syntax, see the YAML website.

Element Description
description An optional description for the denylist entry.
subnet Required. The subnet value is any valid IPv4 or IPv6 subnet in CIDR notation.

Deploying the DoS configuration file

The dos.yaml file can reside anywhere in your source code directory.

To deploy the DoS configuration file without otherwise altering the currently serving version, use one of the following commands in the directory containing your dispatch file, depending on your environment:


gcloud app deploy dos.yaml


mvn appengine:deployDos dos.yaml


gradle appengineDeployDos dos.yaml


If you use IntelliJ or Eclipse, you select the individual configuration files to be deployed using the deployment form.

Deleting all DoS configuration

To delete all DoS configuration:

  1. Edit the contents of the dos.yaml file to:


  2. Deploy the dos.yaml file to App Engine.


You can define a maximum of 100 denylist entries in your configuration file. Uploading a configuration file with more than 100 entries will fail.