user nginx;
daemon off;
pid /tmp/nginx.pid;
worker_processes auto;
pcre_jit on;
error_log /data/log/nginx_error.log warn;

events {
	worker_connections 1024;
}

http {
	include /etc/nginx/mime.types;
	default_type application/octet-stream;
	server_tokens off;
	keepalive_timeout 65;
	sendfile on;
	tcp_nodelay on;

	gzip on;
	gzip_vary on;
	gzip_types application/javascript text/css;

	log_format main '$remote_addr - $remote_user [$time_local] "$request" '
			'$status $body_bytes_sent "$http_referer" '
			'"$http_user_agent" "$http_x_forwarded_for"';

    map $request $loggable {
        default 1;
        "~*^POST /api/judge_server_heartbeat/ HTTP/1\.1$" 0;
    }

	access_log /data/log/nginx_access.log main if=$loggable;
    # access_log off;

    upstream backend {
        server 127.0.0.1:8080;
        keepalive 32;
    }

    upstream websocket {
        server 127.0.0.1:8001;
        keepalive 32;
    }

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

    server {
        listen 8000 default_server;
        server_name _;

        include locations.conf;
    }

    # server {
    #     listen 1443 ssl http2 default_server;
    #     server_name _;
    #     ssl_certificate /data/ssl/server.crt;
    #     ssl_certificate_key /data/ssl/server.key;
    #     ssl_protocols TLSv1.2;
    #     ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256';
    #     ssl_prefer_server_ciphers on;
    #     ssl_session_cache shared:SSL:10m;

    #     include https_locations.conf;
    # }

}

