Dokku Deploys To Every Domain and Subdomain


I’m currently developing Rails web app and I deploy it with Dokku to this droplet. I linked the droplet to my domain name. with the following settings:

A record @ >> droplet IP A record * >> droplet IP CNAME www >>

I have deployed to subdomain however whenever I open random subdomain such as and even the root domain (, it will be redirected to the app.

How to fix the issue? Thank you.

Submit an answer

This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Sign In or Sign Up to Answer

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

Nginx will forward everything to the last server block config it can find. You need to have a default server set in nginx’s config and make sure it returns 404. See this StackOverflow answer on how to configure this.

Dokku default site:

By default, Dokku will route any received request with an unknown HOST header value to the lexicographically first site in the nginx config stack. If this is not the desired behavior, you may want to add the following configuration to the global nginx configuration.

Create the file at /etc/nginx/conf.d/00-default-vhost.conf:

server {
  listen 80 default_server;
  listen [::]:80 default_server;

  server_name _;
  return 410;
  log_not_found off;

Make sure to reload nginx after creating this file by running service nginx reload.

This will catch all unknown HOST header values and return a 410 Gone response. You can replace the return 410; with return 444; which will cause nginx to not respond to requests that do not match known domains (connection refused).

The configuration file must be loaded before /etc/nginx/conf.d/dokku.conf, so it can not be arranged as a vhost in /etc/nginx/sites-enabled that is only processed afterwards.

Alternatively, you may push an app to your Dokku host with a name like “00-default”. As long as it lists first in ls /home/dokku/*/nginx.conf | head, it will be used as the default nginx vhost.