diff options
Diffstat (limited to 'nginx')
| -rw-r--r-- | nginx/nginx.conf | 112 | 
1 files changed, 13 insertions, 99 deletions
| diff --git a/nginx/nginx.conf b/nginx/nginx.conf index 1970845..822dd29 100644 --- a/nginx/nginx.conf +++ b/nginx/nginx.conf @@ -1,103 +1,17 @@ -user nginx; -worker_processes auto; -error_log /var/log/nginx/error.log notice; -pid /var/run/nginx.pid; +server { +    listen       80; +    listen  [::]:80; +    server_name _; -events { -    worker_connections 1024; -} +    root /usr/share/nginx/html; +    index index.html index.htm; -http { -    include /etc/nginx/mime.types; -    default_type application/octet-stream; - -    log_format main '$remote_addr - $remote_user [$time_local] "$request" ' -                    '$status $body_bytes_sent "$http_referer" ' -                    '"$http_user_agent" "$http_x_forwarded_for"'; - -    access_log /var/log/nginx/access.log main; - -    sendfile on; -    tcp_nopush on; -    tcp_nodelay on; -    keepalive_timeout 65; -    types_hash_max_size 2048; - -    # Security headers -    add_header X-Frame-Options "SAMEORIGIN" always; -    add_header X-Content-Type-Options "nosniff" always; -    add_header X-XSS-Protection "1; mode=block" always; -    add_header Referrer-Policy "strict-origin-when-cross-origin" always; - -    # Gzip compression -    gzip on; -    gzip_vary on; -    gzip_min_length 1024; -    gzip_proxied any; -    gzip_comp_level 6; -    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/xhtml+xml -        application/xml -        font/eot -        font/otf -        font/ttf -        image/svg+xml -        text/css -        text/javascript -        text/plain -        text/xml; - -    server { -        listen 8080; -        server_name localhost; -        root /usr/share/nginx/html; -        index index.html; - -        # Security configurations -        server_tokens off; -         -        # Cache static assets -        location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ { -            expires 1y; -            add_header Cache-Control "public, immutable"; -            add_header X-Frame-Options "SAMEORIGIN" always; -            add_header X-Content-Type-Options "nosniff" always; -        } - -        # Handle HTML files with shorter cache -        location ~* \.html$ { -            expires 1h; -            add_header Cache-Control "public, no-transform"; -            add_header X-Frame-Options "SAMEORIGIN" always; -            add_header X-Content-Type-Options "nosniff" always; -        } - -        # Handle root and fallback to index.html (SPA support) -        location / { -            try_files $uri $uri/ /index.html; -            add_header X-Frame-Options "SAMEORIGIN" always; -            add_header X-Content-Type-Options "nosniff" always; -        } - -        # Health check endpoint -        location /health { -            access_log off; -            return 200 "healthy\n"; -            add_header Content-Type text/plain; -        } +    location / { +        try_files $uri $uri/ /index.html; +    } -        # Block access to hidden files -        location ~ /\. { -            deny all; -        } +    error_page 404 /404.html; +    location = /404.html { +        internal;      } -} +}
\ No newline at end of file | 
