server {
    include listen_tvm;

    tvm2_service_id ${AVIA_API_GATEWAY_TVM_ID};
    tvm2_keys_url "/keys?lib_version=2.0.5";

    add_header Access-Control-Allow-Origin "$http_origin";

    proxy_headers_hash_max_size 1024;
    proxy_headers_hash_bucket_size 128;

    # Взял список из /etc/nginx/nginx.conf и дополнил его application/manifest+json
    gzip_types text/plain text/css application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript application/json application/x-protobuf application/manifest+json;

    large_client_header_buffers 4 32k;

    location / {
        include proxy_params;
        proxy_intercept_errors on;

        tvm2_ticket $http_x_ya_service_ticket;
        tvm2_allow_src ${AVIA_API_GATEWAY_TVM_FRONT_ID};

        proxy_pass http://unix:/var/run/yandex-avia-api-gateway/avia-api-gateway.sock:;
        proxy_next_upstream error;
    }

    location /airport/ {
        include proxy_params;
        proxy_intercept_errors on;

        tvm2_ticket $http_x_ya_service_ticket;
        tvm2_allow_src ${AVIA_API_GATEWAY_TVM_FRONT_ID};

        proxy_pass http://unix:/var/run/yandex-avia-api-gateway/avia-api-gateway.sock:;
        proxy_next_upstream error;

        proxy_read_timeout 200s;
    }

    location /keys {
        internal;
        proxy_pass https://tvm-api.yandex.net/2/keys;
    }
}
