add request_type logging and headers; values are blob-by-digest, manifest-by-digest, manifest-mutable, blob-mutable
parent
1856d821fc
commit
8524e376c1
15
nginx.conf
15
nginx.conf
|
@ -64,6 +64,7 @@ http {
|
||||||
'"upstream_cache_status":"$upstream_cache_status",'
|
'"upstream_cache_status":"$upstream_cache_status",'
|
||||||
'"method":"$request_method",'
|
'"method":"$request_method",'
|
||||||
'"uri":"$uri",'
|
'"uri":"$uri",'
|
||||||
|
'"request_type":"$docker_proxy_request_type",'
|
||||||
'"status":"$status",'
|
'"status":"$status",'
|
||||||
'"bytes_sent":"$body_bytes_sent",'
|
'"bytes_sent":"$body_bytes_sent",'
|
||||||
'"upstream_response_time":"$upstream_response_time",'
|
'"upstream_response_time":"$upstream_response_time",'
|
||||||
|
@ -135,6 +136,7 @@ http {
|
||||||
# dont log the CONNECT proxy.
|
# dont log the CONNECT proxy.
|
||||||
#access_log /var/log/nginx/access.log debug_proxy;
|
#access_log /var/log/nginx/access.log debug_proxy;
|
||||||
access_log off;
|
access_log off;
|
||||||
|
set $docker_proxy_request_type "unknown-connect";
|
||||||
|
|
||||||
proxy_connect;
|
proxy_connect;
|
||||||
proxy_connect_address $interceptedHost;
|
proxy_connect_address $interceptedHost;
|
||||||
|
@ -201,6 +203,7 @@ echo "Docker configured with HTTPS_PROXY=$scheme://$http_host/"
|
||||||
|
|
||||||
# Do some tweaked logging.
|
# Do some tweaked logging.
|
||||||
access_log /var/log/nginx/access.log tweaked;
|
access_log /var/log/nginx/access.log tweaked;
|
||||||
|
set $docker_proxy_request_type "unknown";
|
||||||
|
|
||||||
# Send upstream status as header
|
# Send upstream status as header
|
||||||
add_header X-Docker-Registry-Proxy-Cache-Upstream-Status "$upstream_cache_status";
|
add_header X-Docker-Registry-Proxy-Cache-Upstream-Status "$upstream_cache_status";
|
||||||
|
@ -263,6 +266,9 @@ echo "Docker configured with HTTPS_PROXY=$scheme://$http_host/"
|
||||||
|
|
||||||
# For blob requests by digest, do cache, and treat redirects.
|
# For blob requests by digest, do cache, and treat redirects.
|
||||||
location ~ ^/v2/(.*)/blobs/sha256:(.*) {
|
location ~ ^/v2/(.*)/blobs/sha256:(.*) {
|
||||||
|
set $docker_proxy_request_type "blob-by-digest";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Upstream-Status "$upstream_cache_status";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Type "$docker_proxy_request_type";
|
||||||
proxy_pass https://$targetHost;
|
proxy_pass https://$targetHost;
|
||||||
proxy_cache cache;
|
proxy_cache cache;
|
||||||
proxy_cache_key $uri;
|
proxy_cache_key $uri;
|
||||||
|
@ -273,6 +279,9 @@ echo "Docker configured with HTTPS_PROXY=$scheme://$http_host/"
|
||||||
# For manifest requests by digest, do cache, and treat redirects.
|
# For manifest requests by digest, do cache, and treat redirects.
|
||||||
# These are some of the requests that DockerHub will throttle.
|
# These are some of the requests that DockerHub will throttle.
|
||||||
location ~ ^/v2/(.*)/manifests/sha256:(.*) {
|
location ~ ^/v2/(.*)/manifests/sha256:(.*) {
|
||||||
|
set $docker_proxy_request_type "manifest-by-digest";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Upstream-Status "$upstream_cache_status";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Type "$docker_proxy_request_type";
|
||||||
proxy_pass https://$targetHost;
|
proxy_pass https://$targetHost;
|
||||||
proxy_cache cache;
|
proxy_cache cache;
|
||||||
proxy_cache_key $uri;
|
proxy_cache_key $uri;
|
||||||
|
@ -284,6 +293,9 @@ echo "Docker configured with HTTPS_PROXY=$scheme://$http_host/"
|
||||||
# Since these are mutable, we invalidate them immediately and keep them only in case the backend is down
|
# Since these are mutable, we invalidate them immediately and keep them only in case the backend is down
|
||||||
# These are some of the requests that DockerHub will throttle.
|
# These are some of the requests that DockerHub will throttle.
|
||||||
location ~ ^/v2/(.*)/manifests/ {
|
location ~ ^/v2/(.*)/manifests/ {
|
||||||
|
set $docker_proxy_request_type "manifest-mutable";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Upstream-Status "$upstream_cache_status";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Type "$docker_proxy_request_type";
|
||||||
proxy_pass https://$targetHost;
|
proxy_pass https://$targetHost;
|
||||||
proxy_cache cache;
|
proxy_cache cache;
|
||||||
proxy_cache_key $uri;
|
proxy_cache_key $uri;
|
||||||
|
@ -296,6 +308,9 @@ echo "Docker configured with HTTPS_PROXY=$scheme://$http_host/"
|
||||||
# Cache blobs requests that are not by digest
|
# Cache blobs requests that are not by digest
|
||||||
# Since these are mutable, we invalidate them immediately and keep them only in case the backend is down
|
# Since these are mutable, we invalidate them immediately and keep them only in case the backend is down
|
||||||
location ~ ^/v2/(.*)/blobs/ {
|
location ~ ^/v2/(.*)/blobs/ {
|
||||||
|
set $docker_proxy_request_type "blob-mutable";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Upstream-Status "$upstream_cache_status";
|
||||||
|
add_header X-Docker-Registry-Proxy-Cache-Type "$docker_proxy_request_type";
|
||||||
proxy_pass https://$targetHost;
|
proxy_pass https://$targetHost;
|
||||||
proxy_cache cache;
|
proxy_cache cache;
|
||||||
proxy_cache_key $uri;
|
proxy_cache_key $uri;
|
||||||
|
|
Loading…
Reference in New Issue