Search code examples
regexnginx-locationproxypass

Regular Expression for Nginx Location Block and Proxy Pass


I would like to ask about some configurations for Nginx; How to setup regular expression in Nginx location block? this is my configuration

location ~ ^/web/api/v1/([A-Za-z]+) {
    proxy_pass http://localhost:5000/$1;
}

So, the use case for this config is when i type "localhost/web/api/v1/apple" it will routed to localhost:5000/apple, "localhost/web/api/v1/pineapple" it will routed to localhost:5000/pineapple, and so on. Note: the apple and pineapple only example path name.

Thank You


Solution

  • This answer credit to @Richard Smith from this discussion: https://serverfault.com/questions/1005685/how-to-set-regular-expression-for-nginx-location-block-and-proxy-pass/1005697#1005697;

    I am change the config become:

    location ~ ^/web/api/v1/([A-Za-z]+)$ {
       proxy_pass http://127.0.0.1:5000/$1;
    }
    

    localhost become 127.0.0.1