$registry pull;
if ($request_method ~ ^(POST|PUT|DELETE)$ ) {
set $registry push;
}
rewrite ^(.*) /$registry/$1;
}
location /push {
auth_request /auth-proxy;
proxy_pass http://localhost:5000/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_read_timeout 10m;
proxy_connect_timeout 10m;
proxy_set_header Connection "";
client_body_in_file_only clean;
client_body_buffer_size 32K;
client_max_body_size 15G;
proxy_pass_header Set-Cookie;
}
location /pull {
proxy_pass http://localhost:5000/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_read_timeout 10m;
proxy_connect_timeout 10m;
proxy_set_header Connection "";
client_body_in_file_only clean;
client_body_buffer_size 32K;
client_max_body_size 15G;
proxy_pass_header Set-Cookie;
}
на pastebin, глаза режет
типа да, только сложи общие опции прокси в сниппет, и инклюдь его, на мой вкус. Стоп, на где тут собственно мап, нафиг так сложно с if то?
что это?
map $request_method $req_loc { 'POST' 'destructive'; 'PUT' 'destructive'; 'DELETE' 'destructive'; default 'safe'; } server { ... location / { rewrite ^(.*) /$req_loc } location /destructive { internal; auth_request /auth-proxy; include snippets/proxy.conf; } location /safe { internal; include snippets/proxy.conf; } ... }
Обсуждают сегодня