
worker_processes auto;
pid /tmp/nginx.pid;

events {
    worker_connections  1024;
}

http {

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

    server {
{% if internal_tls.enabled %}
        #ip_family
    {% if ip_family.ipv4.enabled %}
        listen 8443 ssl;
    {% endif %}
    {% if ip_family.ipv6.enabled %}
        listen [::]:8443 ssl;
    {% endif %}
        # SSL
        ssl_certificate /etc/harbor/tls/portal.crt;
        ssl_certificate_key /etc/harbor/tls/portal.key;

        ssl_protocols TLSv1.2 TLSv1.3;
    {% if strong_ssl_ciphers %}
        ssl_ciphers ECDHE+AESGCM:DHE+AESGCM:ECDHE+RSA+SHA256:DHE+RSA+SHA256:!AES128;
    {% else %}
        ssl_ciphers '!aNULL:kECDH+AESGCM:ECDH+AESGCM:RSA+AESGCM:kECDH+AES:ECDH+AES:RSA+AES:';
    {% endif %}
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
{% else %}
        listen 8080;
{% endif %}
        server_name  localhost;

        root   /usr/share/nginx/html;
        index  index.html index.htm;
        include /etc/nginx/mime.types;

        gzip on;
        gzip_min_length 1000;
        gzip_proxied expired no-cache no-store private auth;
        gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

        location /devcenter-api-2.0 {
            try_files $uri $uri/ /swagger-ui-index.html;
        }

        location / {
            try_files $uri $uri/ /index.html;
        }

        location = /index.html {
            add_header Cache-Control "no-store, no-cache, must-revalidate";
        }
    }
}
