How do I proxy_pass user when they hit an error page (or satisfy a condition).

July 25, 2017 262 views
Nginx Ubuntu

Tried a simple proxy pass in a pointer location ( location @foobar. Proxy pass). Tried a redirect with, of course, no luck. Seemingly must be proxied since the resource is behind the network.

1 Answer

With Nginx, it is possible to route a specific error to a named location using an error_page directive. For example:

location / {
    error_page 404 = @other;

    # other configuration...

location @other {
    proxy_pass https://www.digitalocean.com;

With this configuration, if a page is not found the request is proxied to https://www.digitalocean.com. Of course, in a real situation, that would likely be a service on a different port or instance altogether.

Have another answer? Share your knowledge.