user  www www;
worker_processes 1;
error_log  /www/server/panel/webserver/logs/error.log  crit;
pid        /www/server/panel/webserver/logs/webserver.pid;
worker_rlimit_nofile 512;

events
    {{
        use epoll;
        worker_connections 8192;
        multi_accept on;
    }}

http
    {{
        include mime.types;
        default_type  application/octet-stream;
        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;
        client_body_buffer_size 512k;

        proxy_connect_timeout 3600;
        proxy_read_timeout 3600;
        proxy_send_timeout 3600;
        proxy_buffer_size 32k;
        proxy_buffers 4 64k;
        proxy_busy_buffers_size 128k;
        proxy_temp_file_write_size 128k;
        proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
        
        sendfile   on;
        tcp_nopush on;
        keepalive_timeout 3600;
        tcp_nodelay on;

        gzip on;
        gzip_min_length  256;
        gzip_buffers     16 16k;
        gzip_http_version 1.1;
        gzip_comp_level 3;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/json image/jpeg image/gif image/png font/ttf font/otf image/svg+xml application/xml+rss text/x-js;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        server_tokens off;
        access_log /dev/null;

        server
        {{
{LISTEN}
            server_name _;
            
            # 错误页
            error_page 502 /error_page/502.json;
            
            # rewrite
            rewrite ^/site/static/(.*) /static/$1 last;

            {HTTP3_HEADER}
            add_header X-Quic "h3";

            # 静态文件
            location ~ ^/static/ {{
                root /www/server/panel/BTPanel;
                expires      24h;
            }}

            # 图标处理
            location ~ ^/static\/img/ {{
                root /www/server/panel/BTPanel;
                try_files $uri /static/img/soft_ico/icon_plug.svg;
                expires      24h;
            }}

            #PROXY-START/
            location /
            {{
                proxy_pass http://unix:/tmp/panel.sock;
                proxy_set_header Host $host:$server_port;
                proxy_set_header X-Real-IP $remote_addr;
        	    proxy_set_header X-Real-Port $remote_port;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection "upgrade";
                # proxy_http_version 1.1;
            
                {HTTP3_HEADER}
                add_header X-Quic "h3";
            }}
            #PROXY-END/
    
{SSL_CONFIG}

        	access_log  /dev/null;
            error_log  /www/server/panel/webserver/logs/webserver.log;
        }}
}}

