| server { |
| listen 80; |
| access_log /dev/stdout; |
| error_log /dev/stdout; |
| |
| root /usr/share/nginx/html; |
| index index.html index.htm; |
| |
| gzip_static on; # nginx will automatically search for a .gz version of a file and serve it if it exists |
| |
| set $dcos_release_version 1.6.1; |
| |
| set $serve_json false; |
| |
| if ($http_accept ~ ".*application/vnd\.dcos\.universe\.repo\+json;charset=utf-8;version=v3.*") { |
| # The Accept header contains the v3 repo schema |
| set $serve_json true; |
| set $universe_version v3; |
| } |
| |
| if ($http_accept ~ ".*application/vnd\.dcos\.universe\.repo\+json;charset=utf-8;version=v4.*") { |
| # The Accept header contains the v4 repo schema |
| set $serve_json true; |
| set $universe_version v4; |
| } |
| |
| if ($http_user_agent ~ ".*dcos\/1\.8.*") { |
| set $dcos_release_version 1.8; |
| } |
| |
| if ($http_user_agent ~ ".*dcos\/1\.9.*") { |
| set $dcos_release_version 1.9; |
| } |
| |
| if ($http_user_agent ~ ".*dcos\/1\.10.*") { |
| set $dcos_release_version 1.10; |
| } |
| |
| if ($http_user_agent ~ ".*dcos\/1\.11.*") { |
| set $dcos_release_version 1.11; |
| } |
| |
| location = /repo-1.7 { |
| types { |
| "application/vnd.dcos.universe.repo+json;charset=utf-8;version=v3" json; |
| application/zip zip; |
| } |
| set $compound_if ""; |
| if ($serve_json = true) { |
| set $compound_if "${compound_if}json"; |
| } |
| if ($dcos_release_version != "1.7") { |
| set $compound_if "${compound_if}notoneseven"; |
| } |
| |
| if ($compound_if ~ "jsonnotoneseven") { |
| rewrite ^/repo-1.7$ /repo-empty-v3.json break; |
| } |
| |
| rewrite ^/repo-1.7$ /repo-up-to-1.7.zip break; |
| } |
| |
| location = /repo { |
| types { |
| application/zip zip; |
| } |
| |
| if ($universe_version = v3) { |
| rewrite ^/repo$ /v3; |
| } |
| |
| if ($universe_version = v4) { |
| rewrite ^/repo$ /v4; |
| } |
| |
| rewrite ^/repo$ /repo-up-to-$dcos_release_version.zip break; |
| } |
| |
| location = /v3 { |
| internal; |
| types { |
| "application/vnd.dcos.universe.repo+json;charset=utf-8;version=v3" json; |
| } |
| rewrite ^/v3$ /repo-up-to-$dcos_release_version.json break; |
| } |
| |
| location = /v4 { |
| internal; |
| types { |
| "application/vnd.dcos.universe.repo+json;charset=utf-8;version=v4" json; |
| } |
| rewrite ^/v4$ /repo-up-to-$dcos_release_version.json break; |
| } |
| |
| } |