# Problems? => https://github.com/theraw/The-World-Is-Yours/issues user nginx; worker_processes auto; worker_rlimit_nofile 65535; # ==================================================================== error_log /var/log/nginx/error.log notice; pid /run/nginx.pid; # ==================================================================== # ==================================================================== # LOAD DYNAMIC MODS # ==================================================================== # load_module modules/ndk_http_module.so; # load_module modules/ngx_http_geoip2_module.so; # load_module modules/ngx_stream_geoip2_module.so; # load_module modules/ngx_http_php_module.so; # load_module modules/ngx_http_secure_token_filter_module.so; # load_module modules/ngx_rtmp_module.so; # load_module modules/ngx_http_testcookie_access_module.so; # load_module modules/ngx_http_modsecurity_module.so; # ==================================================================== events { worker_connections 65535; multi_accept on; use epoll; } http { # ////////////////////////////////////////////////////// # # ==================== GEOIP =========================== # geoip2 /nginx/db/GeoLite2-Country.mmdb { $geoip2_data_country_code default=US source=$remote_addr country iso_code; $geoip2_data_country_name country names en; } geoip2 /nginx/db/GeoLite2-City.mmdb { $geoip2_data_city_name default=NA city names en; $geoip2_data_zip default=NA postal code; $geoip2_data_state default=NA subdivisions 0 names en; } # ================== END GEOIP ========================= # # ////////////////////////////////////////////////////// # # ////////////////////////////////////////////////////// # include /nginx/mime.types; # ////////////////////////////////////////////////////// # # ////////////////////////////////////////////////////// # # ===================== LOGS =========================== # log_format main '$remote_addr status: $status |==| $request |==| $time_local'; # -------------------------------------------------------# log_format agent '$time_local - client: $remote_addr $status |==| $request |==| $http_user_agent'; # -------------------------------------------------------# log_format full '$remote_addr |==| $remote_user |==| $time_local |==| $request |==| $status |==| $body_bytes_sent |==| $http_referer |==| $http_user_agent |==| $http_x_forwarded_for |==| $http_origin'; # -------------------------------------------------------# log_format json escape=json '[{' '"body_bytes_sent":"$body_bytes_sent",' '"bytes_sent":"$bytes_sent",' '"http_host":"$http_host",' '"msec":"$msec",' '"time_local":"$time_local",' '"connection":"$connection",' '"connection_requests":"$connection_requests",' '"remote_addr":"$remote_addr",' '"request_length":"$request_length",' '"request_method":"$request_method",' '"request_uri":"$request_uri",' '"http_user_agent":"$http_user_agent",' '"http_x_forwarded_for":"$http_x_forwarded_for",' '"country_code":"$geoip2_data_country_code",' '"server_port":"$server_port",' '"server_protocol":"$server_protocol",' '"ssl_protocol":"$ssl_protocol",' '"status":"$status",' '"upstream_response_time":"$upstream_response_time",' '"upstream_addr":"$upstream_addr",' '"upstream_connect_time":"$upstream_connect_time"' '}]'; # =================== END LOGS========================== # # ////////////////////////////////////////////////////// # default_type application/octet-stream; sendfile on; server_names_hash_bucket_size 6969; server_names_hash_max_size 6969; resolver 8.8.8.8; client_body_buffer_size 128k; client_header_buffer_size 5M; client_max_body_size 128M; client_body_timeout 30s; client_header_timeout 30s; keepalive_timeout 30s; open_file_cache max=200000 inactive=20s; open_file_cache_errors on; open_file_cache_min_uses 2; open_file_cache_valid 30s; reset_timedout_connection on; send_timeout 30s; port_in_redirect off; server_name_in_redirect off; server_tokens off; tcp_nodelay on; tcp_nopush on; types_hash_max_size 2048; # CloudFlare IPs # List: https://www.cloudflare.com/ips-v4 set_real_ip_from 173.245.48.0/20; set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 108.162.192.0/18; set_real_ip_from 190.93.240.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 162.158.0.0/15; set_real_ip_from 104.16.0.0/12; set_real_ip_from 172.64.0.0/13; set_real_ip_from 131.0.72.0/22; real_ip_header X-Forwarded-For; real_ip_recursive on; ## Gzip Settings ## gzip on; gzip_buffers 16 8k; gzip_comp_level 5; gzip_disable "msie6"; gzip_min_length 256; gzip_proxied any; gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/x-font-ttf application/x-javascript application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/javascript text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy text/x-js text/xml; gzip_vary on; include /nginx/live/*; include /nginx/conf.d/*.conf; # ////////////////////////////////////////////////////// # }