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 nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx