parent
2a26a1e217
commit
dd1934e2fe
1 changed files with 111 additions and 0 deletions
@ -0,0 +1,111 @@ |
||||
user www-data; |
||||
worker_processes auto; |
||||
worker_rlimit_nofile 8192; |
||||
pid /run/nginx.pid; |
||||
include /etc/nginx/modules-enabled/*.conf; |
||||
|
||||
events { |
||||
worker_connections 8000; |
||||
multi_accept on; |
||||
} |
||||
|
||||
http { |
||||
|
||||
## |
||||
# Basic Settings |
||||
## |
||||
|
||||
sendfile on; |
||||
tcp_nopush on; |
||||
tcp_nodelay on; |
||||
types_hash_max_size 2048; |
||||
server_tokens off; |
||||
log_not_found off; |
||||
|
||||
server_names_hash_bucket_size 64; |
||||
server_name_in_redirect off; |
||||
|
||||
include /etc/nginx/mime.types; |
||||
default_type application/octet-stream; |
||||
|
||||
## |
||||
# SSL Settings |
||||
## |
||||
|
||||
ssl_session_timeout 24h; |
||||
ssl_session_cache shared:SSL:10m; |
||||
keepalive_timeout 300s; |
||||
ssl_session_tickets off; |
||||
ssl_prefer_server_ciphers on; |
||||
|
||||
ssl_protocols TLSv1.2 TLSv1.3; |
||||
ssl_ciphers CDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; |
||||
ssl_ecdh_curve X25519:prime256v1:secp521r1:secp384r1; |
||||
resolver 127.0.0.1:53 valid=60s; |
||||
resolver_timeout 2s; |
||||
|
||||
|
||||
# Connection header for WebSocket reverse proxy |
||||
map $http_upgrade $connection_upgrade { |
||||
default upgrade; |
||||
"" close; |
||||
} |
||||
|
||||
map $remote_addr $proxy_forwarded_elem { |
||||
|
||||
# IPv4 addresses can be sent as-is |
||||
~^[0-9.]+$ "for=$remote_addr"; |
||||
|
||||
# IPv6 addresses need to be bracketed and quoted |
||||
~^[0-9A-Fa-f:.]+$ "for=\"[$remote_addr]\""; |
||||
|
||||
# Unix domain socket names cannot be represented in RFC 7239 syntax |
||||
default "for=unknown"; |
||||
} |
||||
|
||||
map $http_forwarded $proxy_add_forwarded { |
||||
|
||||
# If the incoming Forwarded header is syntactically valid, append to it |
||||
"~^(,[ \\t]*)*([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?(;([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?)*([ \\t]*,([ \\t]*([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?(;([!#$%&'*+.^_`|~0-9A-Za-z-]+=([!#$%&'*+.^_`|~0-9A-Za-z-]+|\"([\\t \\x21\\x23-\\x5B\\x5D-\\x7E\\x80-\\xFF]|\\\\[\\t \\x21-\\x7E\\x80-\\xFF])*\"))?)*)?)*$" "$http_forwarded, $proxy_forwarded_elem"; |
||||
|
||||
# Otherwise, replace it |
||||
default "$proxy_forwarded_elem"; |
||||
} |
||||
|
||||
## |
||||
# Logging Settings |
||||
## |
||||
|
||||
# Log Format |
||||
log_format cloudflare '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $http_cf_ray $http_cf_connecting_ip'; |
||||
|
||||
# Logging |
||||
access_log /var/log/nginx/access.log cloudflare; |
||||
error_log /var/log/nginx/error.log warn; |
||||
|
||||
|
||||
#access_log /var/log/nginx/access.log; |
||||
#error_log /var/log/nginx/error.log; |
||||
|
||||
## |
||||
# Gzip Settings |
||||
## |
||||
|
||||
gzip on; |
||||
gzip_disable "msie6"; |
||||
gzip_static on; |
||||
gzip_vary on; |
||||
gzip_proxied any; |
||||
gzip_comp_level 6; |
||||
gzip_min_length 256; |
||||
gzip_buffers 16 8k; |
||||
gzip_http_version 1.1; |
||||
gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/vnd.ms-fontobject application/wasm application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/otf font/ttf image/bmp image/svg+xml text/cache-manifest text/calendar text/css text/javascript text/markdown text/plain text/xml text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy; |
||||
|
||||
## |
||||
# Virtual Host Configs |
||||
## |
||||
|
||||
include /etc/nginx/conf.d/*.conf; |
||||
include /etc/nginx/sites-enabled/*; |
||||
} |
Loading…
Reference in new issue