HowTo: Nginx Block User Agent

h‮t‬tps://www.lautturi.com
HowTo: Nginx Block User Agent

To block a specific user agent in Nginx, you can use the if directive in the configuration file.

Here is an example of how you can block a user agent called bad_agent:

server {
    ...
    location / {
        if ($http_user_agent ~* "bad_agent") {
            return 403;
        }
        ...
    }
    ...
}

This configuration will block any requests with a user agent matching the string "bad_agent". The return directive will cause Nginx to return a 403 Forbidden status code to the client.

You can also use the deny and allow directives to block specific user agents. For example:

server {
    ...
    location / {
        deny all;
        allow all;
        if ($http_user_agent ~* "bad_agent") {
            deny all;
        }
        ...
    }
    ...
}

This configuration will allow all requests by default, but will block any requests with a user agent matching the string "bad_agent".

Overall, the if, deny, and allow directives are useful tools for blocking specific user agents in Nginx. They allow you to customize the behavior of the server based on the client's user agent string.

Created Time:2017-10-29 22:08:44  Author:lautturi