Quantcast
Channel: Nginx Forum - Nginx Mailing List - English
Viewing all articles
Browse latest Browse all 7229

How to combine try_files with multiple proxy destinations (no replies)

$
0
0
I have the folllowing requirement:
1. if /usr/share/nginx/html/maintenance.html exists, then always show this file to browser.
2. if this is the static file which located in the sub-directories of /usr/share/nginx/html/, then show this static file to browser.
3. if the URI begins with /testapp1/, then proxy to http://127.0.0.1:8080; else proxy to http://127.0.0.1:8081

And I tried the following two configurations but both failed:
1. Config1
server {
...
root /usr/share/nginx/html/;
location / {
try_files /maintenance.html $uri @proxy;
}

location @proxy {
location /testapp/ {
proxy_pass http://127.0.0.1:8080;
}

location / {
proxy_pass http://127.0.0.1:8081
}
}
}

2. Config2
server {
...
root /usr/share/nginx/html/;
try_files /maintenance.html $uri @proxy;

location /testapp/ {
proxy_pass http://127.0.0.1:8080;
}

location / {
proxy_pass http://127.0.0.1:8081
}
}

For Config1, it throws the following error:
nginx: [emerg] location "/testapp/" cannot be inside the named location "@proxy" in /etc/nginx/nginx.conf:41

For Config2, it does not work as expected: it seems that when try_files is together with location directives, try_file has the lowerest priority and so I can never get /maintenance.html shown.

So can anybody know how to config to meet my requirement ? Thanks in advance!

Viewing all articles
Browse latest Browse all 7229

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>