1*61046927SAndroid Build Coastguard Workerproxy_cache_path /var/cache/nginx/ levels=1:2 keys_zone=my_cache:10m max_size=24g inactive=48h use_temp_path=off; 2*61046927SAndroid Build Coastguard Worker 3*61046927SAndroid Build Coastguard Workerserver { 4*61046927SAndroid Build Coastguard Worker listen 10.42.0.1:80 default_server; 5*61046927SAndroid Build Coastguard Worker listen 127.0.0.1:80 default_server; 6*61046927SAndroid Build Coastguard Worker listen [::]:80 default_server; 7*61046927SAndroid Build Coastguard Worker resolver 8.8.8.8; 8*61046927SAndroid Build Coastguard Worker 9*61046927SAndroid Build Coastguard Worker root /var/www/html; 10*61046927SAndroid Build Coastguard Worker 11*61046927SAndroid Build Coastguard Worker # Add index.php to the list if you are using PHP 12*61046927SAndroid Build Coastguard Worker index index.html index.htm index.nginx-debian.html; 13*61046927SAndroid Build Coastguard Worker 14*61046927SAndroid Build Coastguard Worker server_name _; 15*61046927SAndroid Build Coastguard Worker 16*61046927SAndroid Build Coastguard Worker add_header X-GG-Cache-Status $upstream_cache_status; 17*61046927SAndroid Build Coastguard Worker proxy_cache my_cache; 18*61046927SAndroid Build Coastguard Worker 19*61046927SAndroid Build Coastguard Worker location /cache_gitlab_artifacts { 20*61046927SAndroid Build Coastguard Worker internal; 21*61046927SAndroid Build Coastguard Worker # Gitlabs http server puts everything as no-cache even though 22*61046927SAndroid Build Coastguard Worker # the artifacts URLS don't change. So enforce a long validity 23*61046927SAndroid Build Coastguard Worker # time and ignore the headers that defeat caching 24*61046927SAndroid Build Coastguard Worker proxy_cache_valid 200 48h; 25*61046927SAndroid Build Coastguard Worker proxy_ignore_headers Cache-Control Set-Cookie; 26*61046927SAndroid Build Coastguard Worker include snippets/uri-caching.conf; 27*61046927SAndroid Build Coastguard Worker } 28*61046927SAndroid Build Coastguard Worker 29*61046927SAndroid Build Coastguard Worker location /cache { 30*61046927SAndroid Build Coastguard Worker # special case gitlab artifacts 31*61046927SAndroid Build Coastguard Worker if ($arg_uri ~* /.*gitlab.*artifacts(\/|%2F)raw/ ) { 32*61046927SAndroid Build Coastguard Worker rewrite ^ /cache_gitlab_artifacts; 33*61046927SAndroid Build Coastguard Worker } 34*61046927SAndroid Build Coastguard Worker # Set a really low validity together with cache revalidation; Our goal 35*61046927SAndroid Build Coastguard Worker # for caching isn't to lower the number of http requests but to 36*61046927SAndroid Build Coastguard Worker # lower the amount of data transfer. Also for some test 37*61046927SAndroid Build Coastguard Worker # scenarios (typical manual tests) the file at a given url 38*61046927SAndroid Build Coastguard Worker # might get modified so avoid confusion by ensuring 39*61046927SAndroid Build Coastguard Worker # revalidations happens often. 40*61046927SAndroid Build Coastguard Worker proxy_cache_valid 200 10s; 41*61046927SAndroid Build Coastguard Worker proxy_cache_revalidate on; 42*61046927SAndroid Build Coastguard Worker include snippets/uri-caching.conf; 43*61046927SAndroid Build Coastguard Worker } 44*61046927SAndroid Build Coastguard Worker} 45