You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
147 lines
4.8 KiB
147 lines
4.8 KiB
# nginx Configuration File |
|
# http://wiki.nginx.org/Configuration |
|
|
|
daemon off; |
|
|
|
# Run as a less privileged user for security reasons. |
|
user nginx nginx; |
|
|
|
# How many worker threads to run; |
|
# "auto" sets it to the number of CPU cores available in the system, and |
|
# offers the best performance. Don't set it higher than the number of CPU |
|
# cores if changing this parameter. |
|
|
|
# The maximum number of connections for Nginx is calculated by: |
|
# max_clients = worker_processes * worker_connections |
|
worker_processes auto; |
|
|
|
# Maximum open file descriptors per process; |
|
# should be > worker_connections. |
|
worker_rlimit_nofile 8192; |
|
|
|
events { |
|
# When you need > 8000 * cpu_cores connections, you start optimizing your OS, |
|
# and this is probably the point at which you hire people who are smarter than |
|
# you, as this is *a lot* of requests. |
|
worker_connections 8000; |
|
} |
|
|
|
# Default error log file |
|
# (this is only used when you don't override error_log on a server{} level) |
|
error_log /var/log/nginx/error.log warn; |
|
pid /var/run/nginx/nginx.pid; |
|
|
|
http { |
|
# Include proxy and server configuration. |
|
include /etc/nginx/proxy.conf; |
|
include /etc/nginx/http.d/bitwarden.conf; |
|
|
|
# Hide nginx version information. |
|
server_tokens off; |
|
|
|
# Define the MIME types for files. |
|
include /etc/nginx/mime.types; |
|
default_type application/octet-stream; |
|
|
|
# Update charset_types to match updated mime.types. |
|
# text/html is always included by charset module. |
|
# Default: text/html text/xml text/plain text/vnd.wap.wml application/javascript application/rss+xml |
|
charset_types |
|
text/css |
|
text/plain |
|
text/vnd.wap.wml |
|
application/javascript |
|
application/json |
|
application/rss+xml |
|
application/xml; |
|
|
|
# Format to use in log files |
|
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
|
'$status $body_bytes_sent "$http_referer" ' |
|
'"$http_user_agent" "$http_x_forwarded_for"'; |
|
|
|
# Default log file |
|
# (this is only used when you don't override access_log on a server{} level) |
|
access_log /var/log/nginx/access.log main; |
|
|
|
# How long to allow each connection to stay idle; longer values are better |
|
# for each individual client, particularly for SSL, but means that worker |
|
# connections are tied up longer. (Default: 65) |
|
keepalive_timeout 20; |
|
|
|
# Speed up file transfers by using sendfile() to copy directly |
|
# between descriptors rather than using read()/write(). |
|
# For performance reasons, on FreeBSD systems w/ ZFS |
|
# this option should be disabled as ZFS's ARC caches |
|
# frequently used files in RAM by default. |
|
sendfile on; |
|
|
|
# Tell Nginx not to send out partial frames; this increases throughput |
|
# since TCP frames are filled up before being sent out. (adds TCP_CORK) |
|
tcp_nopush on; |
|
|
|
|
|
# Compression |
|
|
|
# Enable Gzip compressed. |
|
gzip on; |
|
|
|
# Compression level (1-9). |
|
# 5 is a perfect compromise between size and cpu usage, offering about |
|
# 75% reduction for most ascii files (almost identical to level 9). |
|
gzip_comp_level 5; |
|
|
|
# Don't compress anything that's already small and unlikely to shrink much |
|
# if at all (the default is 20 bytes, which is bad as that usually leads to |
|
# larger files after gzipping). |
|
gzip_min_length 256; |
|
|
|
# Compress data even for clients that are connecting to us via proxies, |
|
# identified by the "Via" header (required for CloudFront). |
|
gzip_proxied any; |
|
|
|
# Tell proxies to cache both the gzipped and regular version of a resource |
|
# whenever the client's Accept-Encoding capabilities header varies; |
|
# Avoids the issue where a non-gzip capable client (which is extremely rare |
|
# today) would display gibberish if their proxy gave them the gzipped version. |
|
gzip_vary on; |
|
|
|
# Compress all output labeled with one of the following MIME-types. |
|
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-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/plain |
|
text/vcard |
|
text/vnd.rim.location.xloc |
|
text/vtt |
|
text/x-component |
|
text/x-cross-domain-policy; |
|
# text/html is always compressed by HttpGzipModule |
|
|
|
# This should be turned on if you are going to have pre-compressed copies (.gz) of |
|
# static files available. If not it should be left off as it will cause extra I/O |
|
# for the check. It is best if you enable this in a location{} block for |
|
# a specific directory, or on an individual server{} level. |
|
# gzip_static on; |
|
|
|
# Content type for FIDO U2F facets |
|
map $uri $fido_content_type { |
|
default "application/fido.trusted-apps+json"; |
|
} |
|
}
|
|
|