diff --git a/nginx/wordpress b/nginx/wordpress new file mode 100644 index 0000000..cbeb0b1 --- /dev/null +++ b/nginx/wordpress @@ -0,0 +1,85 @@ +server { + listen 80 default_server; + listen [::]:80 default_server; + + root /var/www/html/wordpress; + + index index.php index.html index.htm index.nginx-debian.html; + + # We will come back to this later when we configure Certbot for HTTPS, but for now, a catch-all is fine + server_name _; + + # Change this to a more rational value if you want an actual limit + client_max_body_size 999G; + + location / { + try_files $uri $uri/ /index.php?$args; + } + + # pass PHP scripts to FastCGI server + # + location ~ \.php$ { + include snippets/fastcgi-php.conf; + fastcgi_intercept_errors on; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + include fastcgi_params; + fastcgi_pass unix:/run/php/php-fpm.sock; + add_header X-Content-Type-Options nosniff; + add_header X-XSS-Protection "1; mode=block"; + add_header X-Permitted-Cross-Domain-Policies none; + add_header X-Frame-Options "SAMEORIGIN"; + } + + # Don't log access to favicon.ico and robots.txt + location = /favicon.ico { + log_not_found off; + access_log off; + } + + location = /robots.txt { + allow all; + log_not_found off; + access_log off; + } + + # Deny access to hidden files + location ~ /\.ht { + deny all; + } + + # Prevent PHP from running from upload directories + location ~* /(?:uploads|files)/.*\.php$ { + deny all; + } + + # Caching and gzip configuration, change as you see fit + location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ { + expires 30d; + log_not_found off; + } + + # Most stuff should already be covered under gzip_types, but you can add or remove as needed + gzip on; + gzip_vary on; + gzip_min_length 1000; + gzip_types + text/plain + text/css + text/javascript + application/javascript + application/x-javascript + application/json + application/xml + application/rss+xml + application/atom+xml + application/xhtml+xml + image/svg+xml + image/x-icon + font/ttf + font/otf + font/woff + font/woff2 + application/vnd.ms-fontobject; + gzip_proxied any; + +} \ No newline at end of file