I have a configuration for a Docker NGINX container that works OK with my 'static' configuration, but I’d like to maybe use a variable in the proxy rewrite to avoid have to duplicate a location block for the server. A sample Static setup with some of the extra stuff removed is shown below. That actually 'works' when I explicitly specify /pacs-1/ and /pacs-2/. pacs-1 and pacs-2 happen to also be the name for other servers in my Docker Setup, so http://pacs-1:8042 <http://pacs-1:8042/> resolves to the docker container since it is called from Docker. Those servers are not accessible outside of the container, which is one reason why I proxy some requests made to it from outside of the container. I’m curious if it is possible to rewrite that such that I can match one of several container name from the request URI, e.g. something like location ~ ^/(pacs-butterfly|pacs-1|pacs-2)(/.*) I tried various options, including setting a variable and nothing seems to work yet.
I could just create a separate block for each server, but it would be nice to
generalize it so it would always work as long as the request uri corresponds to
an existing container. Thanks.
.
location /pacs-1/ {
if ($request_method = 'OPTIONS') {
return 204;
}
auth_request /auth;
auth_request_set $auth_status $upstream_status;
proxy_buffering off;
rewrite /pacs-1/(.*) /$1 break;
proxy_pass http://pacs-1:8042 <http://pacs-1:8042/>;
proxy_redirect http://pacs-1:8042/ <http://pacs-1:8042/> /;
proxy_set_header HOST $host;
}
location /pacs-2/ {
if ($request_method = 'OPTIONS') {
return 204;
}
auth_request /auth;
auth_request_set $auth_status $upstream_status;
proxy_buffering off;
rewrite /pacs-2/(.*) /$1 break;
proxy_pass http://pacs-2:8042 <http://pacs-2:8042/>;
proxy_redirect http://pacs-2:8042/ <http://pacs-2:8042/> /;
proxy_set_header HOST $host;
}
Stephen D. Scotti
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
