• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

Question Blocking access to wp-admin with nginx directive

Rooked

New Pleskian
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:

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) {
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:
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;
}
 
Back
Top