| proxy_cache_path /var/cache/nginx/ levels=1:2 keys_zone=my_cache:10m max_size=24g inactive=48h use_temp_path=off; | |
| server { | |
| listen 10.42.0.1:80 default_server; | |
| listen 127.0.0.1:80 default_server; | |
| listen [::]:80 default_server; | |
| resolver 8.8.8.8; | |
| root /var/www/html; | |
| # Add index.php to the list if you are using PHP | |
| index index.html index.htm index.nginx-debian.html; | |
| server_name _; | |
| add_header X-GG-Cache-Status $upstream_cache_status; | |
| proxy_cache my_cache; | |
| location /cache_gitlab_artifacts { | |
| internal; | |
| # Gitlabs http server puts everything as no-cache even though | |
| # the artifacts URLS don't change. So enforce a long validity | |
| # time and ignore the headers that defeat caching | |
| proxy_cache_valid 200 48h; | |
| proxy_ignore_headers Cache-Control Set-Cookie; | |
| include snippets/uri-caching.conf; | |
| } | |
| location /cache { | |
| # special case gitlab artifacts | |
| if ($arg_uri ~* /.*gitlab.*artifacts(\/|%2F)raw/ ) { | |
| rewrite ^ /cache_gitlab_artifacts; | |
| } | |
| # Set a really low validity together with cache revalidation; Our goal | |
| # for caching isn't to lower the number of http requests but to | |
| # lower the amount of data transfer. Also for some test | |
| # scenarios (typical manual tests) the file at a given url | |
| # might get modified so avoid confusion by ensuring | |
| # revalidations happens often. | |
| proxy_cache_valid 200 10s; | |
| proxy_cache_revalidate on; | |
| include snippets/uri-caching.conf; | |
| } | |
| } |