- Server operating system version
- CentOS Linux 8.5.2111
- Plesk version and microupdate number
- Version 18.0.41 Update #1
Hello! I'd like to block access to /wp-admin and /wp-login on my Wordpress website for everybody except a specific IP-address. My site doesn't have proxy mode turned on but when I add the below nginx directive to my settings I can still get to /wp-admin:
I've been Googling and trying different snippets, like
but none seem to work. Can I not add it directly in plesk, do I need to edit the config file directly on the server? Or is it something else I'm doing wrong?
My entire Additional nginx directives, in case it's relevant:
Code:
location ~ /(wp-login|wp-admin/) {
allow 1.2.3.4;
deny all;
}
I've been Googling and trying different snippets, like
Code:
location ~ ^/(wp-admin|wp-login\.php) {
My entire Additional nginx directives, in case it's relevant:
Code:
proxy_connect_timeout 600;
proxy_send_timeout 600;
send_timeout 600;
fastcgi_read_timeout 300;
fastcgi_buffers 128 4096k;
fastcgi_buffer_size 4096k;
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
location ~ /(wp-login|wp-admin/) {
allow 1.2.3.4;
deny all;
}
location ~* \.(?:css|js|jpg|jpeg|png|gif|ico|ttf|woff|woff2|svg|otf|eot)$ {
expires 30d;
access_log off;
log_not_found off;
add_header Pragma public;
add_header Cache-Control "public";
try_files $uri @fallback;
}
# Source: https://www.websavers.org/how-to-speed-up-wordpress/
rewrite !\.(js|ico|gif|jpg|png|css|pdf|mov|mp3|eot|svg|ttf|woff|woff2|otf|txt|swf)$ /index.php break;
rewrite /wp-admin/$ /wp-admin/index.php break;
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}