location ~ ^/(cuicui/gadget|cuic)/images/ {
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_revalidate on;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    add_header        Cache-Control "must-revalidate";
    etag on;
}

location ~ ^/cuicui/gadget/(report-gadget.min\.js|report-gadget\.min\.css)$ {
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_revalidate on;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    add_header        Cache-Control "must-revalidate";
    etag on;
}

location = /cuicui/gadget/js/CertificateDummyFile.js {
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_revalidate on;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    add_header        Cache-Control "no-cache";
    etag on;
}

location = /cuicui/gadget/security/index.html {
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_revalidate on;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    add_header        Cache-Control "no-cache";
    etag on;
}

location ~ ^/cuicui/js/third-party/agGrid/(ag-grid\.css|ag-theme-balham\.css|ag-grid-enterprise\.min\.noStyle\.js)$ {
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_revalidate on;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    add_header        Cache-Control "must-revalidate";
    etag on;
}

location = /cuicui/js/run-report/run-report.bundle.min.js {
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_revalidate on;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    add_header        Cache-Control "must-revalidate";
    etag on;
}

location ~ "^/cuic/rest/[a-z]{2}_[A-Z]{2}/localization/$" {
    if ($request_method = OPTIONS ) {
        set $upstreamservername  "CUIC-${http_origin}";
        rewrite ^ /internaloptions$uri last;
    }
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    proxy_cache_lock on;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    proxy_cache_use_stale updating;
}

location ~ "^/(cuic/rest/[a-z]{2}_[A-Z]{2}/localization/[a-zA-Z0-9]{32})$" {
    if ($request_method = OPTIONS ) {
        set $upstreamservername  "CUIC-${http_origin}";
        rewrite ^ /internaloptions$uri last;
    }
    limit_except GET OPTIONS { deny all; }
    proxy_pass $scheme://$backend;
    proxy_cache_key "$uri";
    proxy_cache $cuic_cache;
    proxy_cache_lock on;
    add_header X-ReverseProxy-Cache-Status $upstream_cache_status;
    proxy_cache_valid 200 302 2m;
    proxy_ignore_headers Expires;
    proxy_ignore_headers Cache-Control;
    proxy_cache_use_stale updating;
}
