Nginxconf: Difference between revisions
From GaryH Tech's Wiki
No edit summary |
|||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
# Redirect for wiki.garyhtech.uk | #Redirect for wiki.garyhtech.uk | ||
server { | server { | ||
listen 80; | listen 80; | ||
| Line 6: | Line 6: | ||
} | } | ||
server { | server { | ||
listen 443 ssl; | listen 443 ssl; | ||
#listen [::]:80; | #listen [::]:80; | ||
| Line 23: | Line 23: | ||
client_body_timeout 60; | client_body_timeout 60; | ||
# Images | #Images | ||
location /images { | location /images { | ||
# Separate location for images/ so .php execution won't apply | # Separate location for images/ so .php execution won't apply | ||
| Line 32: | Line 32: | ||
deny all; | deny all; | ||
} | } | ||
# MediaWiki assets (usually images) | |||
location ~ ^/resources/(assets|lib|src) { | location ~ ^/resources/(assets|lib|src) { | ||
try_files $uri 404; | try_files $uri 404; | ||
| Line 38: | Line 38: | ||
expires 7d; | expires 7d; | ||
} | } | ||
# Assets, scripts and styles from skins and extensions | |||
location ~ ^/(skins|extensions)/.+\.(css|js|gif|jpg|jpeg|png|svg|wasm)$ { | location ~ ^/(skins|extensions)/.+\.(css|js|gif|jpg|jpeg|png|svg|wasm)$ { | ||
try_files $uri 404; | try_files $uri 404; | ||
| Line 44: | Line 44: | ||
expires 7d; | expires 7d; | ||
} | } | ||
# License and credits files | |||
location ~ ^/(COPYING|CREDITS) { | location ~ ^/(COPYING|CREDITS) { | ||
default_type text/plain; | default_type text/plain; | ||
| Line 59: | Line 59: | ||
try_files $uri $uri/ /index.php?$args; | try_files $uri $uri/ /index.php?$args; | ||
rewrite ^/([^\?]*) /index.php?title=$1&$args last; | rewrite ^/([^\?]*) /index.php?title=$1&$args last; | ||
} | }<br>} | ||
} | |||
Latest revision as of 13:52, 15 December 2025
#Redirect for wiki.garyhtech.uk
server {
listen 80;
server_name wiki.garyhtech.uk;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
#listen [::]:80;
http2 on;
server_name wiki.garyhtech.uk;
ssl_certificate /usr/local/etc/letsencrypt/live/garyhtech.uk/fullchain.pem;
ssl_certificate_key /usr/local/etc/letsencrypt/live/garyhtech.uk/privkey.pem;
access_log /usr/local/etc/nginx/logs/wiki.garyhtech.uk.log;
error_log /usr/local/etc/nginx/logs/wiki.garyhtech.uk-error.log;
root /usr/local/www/mediawiki;
index index.php;
add_header X-Content-Type-Options "nosniff";
# allow larger file uploads and longer script runtimes
client_max_body_size 100m;
client_body_timeout 60;
#Images
location /images {
# Separate location for images/ so .php execution won't apply
add_header X-Content-Type-Options "nosniff";
}
location /images/deleted {
# Deny access to deleted images folder
deny all;
}
# MediaWiki assets (usually images)
location ~ ^/resources/(assets|lib|src) {
try_files $uri 404;
add_header Cache-Control "public";
expires 7d;
}
# Assets, scripts and styles from skins and extensions
location ~ ^/(skins|extensions)/.+\.(css|js|gif|jpg|jpeg|png|svg|wasm)$ {
try_files $uri 404;
add_header Cache-Control "public";
expires 7d;
}
# License and credits files
location ~ ^/(COPYING|CREDITS) {
default_type text/plain;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php81-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location / {
try_files $uri $uri/ /index.php?$args;
rewrite ^/([^\?]*) /index.php?title=$1&$args last;
}
}
