user nginx; pid /run/nginx.pid; worker_processes 1; error_log /dev/stderr warn; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; access_log off; server_tokens off; client_max_body_size 100m; sendfile on; server { listen 8080; server_name localhost; root /srv/kanboard; index index.php; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/kanboard.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTP_HOST $http_x_forwarded_host if_not_empty; fastcgi_param HTTPS $http_x_forwarded_https if_not_empty; fastcgi_param REQUEST_SCHEME $http_x_forwarded_proto if_not_empty; fastcgi_param SERVER_NAME $http_x_forwarded_server_name if_not_empty; fastcgi_param SERVER_PORT $http_x_forwarded_server_port if_not_empty; } location ~* ^.+\.(log|sqlite)$ { return 404; } location ~ /\.ht { return 404; } location ~* ^.+\.(ico|jpg|gif|png|css|js|svg|eot|ttf|woff|woff2|otf)$ { log_not_found off; expires 7d; etag on; } gzip on; gzip_comp_level 3; gzip_disable "msie6"; gzip_vary on; gzip_types text/javascript application/javascript application/json text/xml application/xml application/rss+xml text/css text/plain; } }