pid /tmp/nginx.pid;

worker_processes 1;

events {
    worker_connections 1024;
}

http {
    server_tokens off;

    add_header X-Frame-Options SAMEORIGIN;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";

    client_body_temp_path /tmp/client_body;
    fastcgi_temp_path /tmp/fastcgi_temp;
    proxy_temp_path /tmp/proxy_temp;
    scgi_temp_path /tmp/scgi_temp;
    uwsgi_temp_path /tmp/uwsgi_temp;

    gzip on;
    gzip_comp_level 6;
    gzip_min_length 1024;
    gzip_buffers 4 32k;
    gzip_types text/plain application/javascript text/css;
    gzip_vary on;

    keepalive_timeout 65;

    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

    server {
        listen 8080;

        location /basket-api {
            proxy_pass http://basket;
            proxy_redirect off;
            proxy_set_header Host $host;
        }

        location /catalog-api {
            proxy_pass http://catalog;
            proxy_redirect off;
            proxy_set_header Host $host;
        }

        location /identity {
            proxy_pass http://identity;
            proxy_redirect off;
            proxy_set_header Host $host;
        }

        location /ordering-api {
            proxy_pass http://ordering;
            proxy_redirect off;
            proxy_set_header Host $host;
        }

        location /webmvc {
            proxy_pass http://webmvc;
            proxy_redirect off;
            proxy_set_header Host $host;
        }

        location /webstatus {
            proxy_pass http://webstatus;
            proxy_redirect off;
            proxy_set_header Host $host;
        }

        location / {
            proxy_pass http://webspa;
            proxy_redirect off;
            proxy_set_header Host $host;
        }
    }
}