81 lines
2.4 KiB
Plaintext
81 lines
2.4 KiB
Plaintext
# NGINX CONFIGURATION FOR COMMON LOCATION
|
|
# DO NOT MODIFY, ALL CHANGES WILL BE LOST AFTER AN WordOps (wo) UPDATE
|
|
# Basic locations files
|
|
location = /favicon.ico {
|
|
access_log off;
|
|
log_not_found off;
|
|
expires max;
|
|
}
|
|
location = /robots.txt {
|
|
# Some WordPress plugin gererate robots.txt file
|
|
# Refer #340 issue
|
|
try_files $uri $uri/ /index.php$is_args$args @robots;
|
|
access_log off;
|
|
log_not_found off;
|
|
}
|
|
# fallback for robots.txt with default wordpress rules
|
|
location @robots {
|
|
return 200 "User-agent: *\nDisallow: /wp-admin/\nAllow: /wp-admin/admin-ajax.php\n";
|
|
}
|
|
# Cache static files
|
|
location ~* \.(ogg|ogv|svg|svgz|eot|otf|woff|woff2|ttf|m4a|mp4|ttf|rss|atom|jpe?g|gif|cur|heic|png|tiff|ico|webm|mp3|aac|tgz|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf|swf|webp)$ {
|
|
add_header "Access-Control-Allow-Origin" "*";
|
|
access_log off;
|
|
log_not_found off;
|
|
expires max;
|
|
}
|
|
# Cache css & js files
|
|
location ~* \.(?:css(\.map)?|js(\.map)?)$ {
|
|
add_header "Access-Control-Allow-Origin" "*";
|
|
access_log off;
|
|
log_not_found off;
|
|
expires 30d;
|
|
}
|
|
# Security settings for better privacy
|
|
# Deny hidden files
|
|
location ~ /\.(?!well-known\/) {
|
|
deny all;
|
|
}
|
|
# letsencrypt validation
|
|
location /.well-known/acme-challenge/ {
|
|
alias /var/www/html/.well-known/acme-challenge/;
|
|
allow all;
|
|
}
|
|
# Return 403 forbidden for readme.(txt|html) or license.(txt|html) or example.(txt|html) or other common git repository files
|
|
location ~* "/(^$|readme|license|example|README|LEGALNOTICE|INSTALLATION|CHANGELOG)\.(txt|html|md)" {
|
|
deny all;
|
|
}
|
|
# Deny backup extensions & log files and return 403 forbidden
|
|
location ~* "\.(old|orig|original|php#|php~|php_bak|save|swo|aspx?|tpl|sh|bash|bak?|cfg|cgi|dll|exe|git|hg|ini|jsp|log|mdb|out|sql|svn|swp|tar|rdf)$" {
|
|
deny all;
|
|
}
|
|
location ~* "/(=|\$&|_mm|(wp-)?config\.|cgi-|etc/passwd|muieblack)" {
|
|
deny all;
|
|
}
|
|
# Status pages
|
|
location = /nginx_status {
|
|
stub_status on;
|
|
access_log off;
|
|
include common/acl.conf;
|
|
}
|
|
location ~ ^/(status|ping)$ {
|
|
include fastcgi_params;
|
|
fastcgi_pass php73;
|
|
include common/acl.conf;
|
|
}
|
|
# WordOps (wo) utilities
|
|
# phpMyAdmin settings
|
|
location = /pma {
|
|
return 301 https://$host:22222/db/pma;
|
|
}
|
|
location = /phpMyAdmin {
|
|
return 301 https://$host:22222/db/pma;
|
|
}
|
|
location = /phpmyadmin {
|
|
return 301 https://$host:22222/db/pma;
|
|
}
|
|
# Adminer settings
|
|
location = /adminer {
|
|
return 301 https://$host:22222/db/adminer;
|
|
}
|