Goldsnich

Goldsnich
Рейтинг
52
Регистрация
17.07.2011

У всех GGL не открывается или только у меня ? Уже час не могу попасть на сайт, ддосят что-ли раз ничего не написали.

Большое спасибо, работает и LocationMatch, только вы директиву не верно закрыли, вот что у меня получилось:

<LocationMatch "(wp-admin|administrator|admin)">

RewriteCond %{REMOTE_ADDR} !^77\.110\.1\.33$
RewriteCond %{REMOTE_ADDR} !^77\.110\.1\.36$
RewriteRule . google.com/404.php [R=404,L]
</LocationMatch>

Отсекаются все, кто пытается запросить url, в адресe которого присутсвует wp-admin, administrator, admin, но разрешено 2-ум IP.

Еще вопрос по nginx, как сюда логичиское "И" правильно вставить ?

location ~ ^/(wp-admin|wp-login\.php$) { 

if ( $remote_addr != "77.110.1.33" ) { return 404;}
}

т.е. чтобы 2, 3, 4... IP адреса можно было использовать

Сделала сегодня заказ на 10 сайтов

Не знаю насколько это правильно, но у меня это работает в httpd.conf, curl -I отдает 404, ну и в самом браузере 404.

<Directory /usr/local/www/apache22/data/*/wp-admin> 

RewriteCond %{REMOTE_ADDR} !^77\.110\.1\.33$
RewriteRule . google.com/404.php [R=404,L]
</Directory>

iamsens, а что нельзя просто в главный nginx.conf прописать ? Чтобы проинклудить, мне придется это сделать в более чем 100 файлах.

AboutSEO, так не интересно и не совсем изящно. Не хочется лезть в core files вордпресса.

iamsens:
для начало нужно проверить сам локейшен

location ~ ^/(wp-admin|wp-login\.php$) {
return 404;
}

и не забыть nginx -s reload

Вот, так заработало, но в контексте одного сайта только, весь конфиг виртуального хоста nginx:


server {
listen 80;
server_name domain.com www.domain.com;

#access_log /var/log/www/domain.com/access.log;
error_log /var/log/www/domain.com/nerror.log;

location / {
proxy_pass http://127.0.0.1:8080/;
proxy_read_timeout 120;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ~ ^/(wp-admin|wp-login\.php$) {
return 404;
}
location ~* \.(jpg|gif|png|js|css|zip|rar|swf|ico)$ {
root /usr/local/www/apache22/data/domain.com;
expires 7d;
error_page 404 502 504 = @fallback;
}
location @fallback {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}


Но есть пару проблем:

1. Это не совсем удобно в каждый виртуал хост вставлять блок

2. Нужно еще добавить разрешенные IP

Сначала я вставила в общий nginx.conf в секцию server, но так не работает, скорей всего из-за путей. Мне нужно вставить там какой-то wildcard для всех сайтов.

---------- Добавлено 28.09.2013 в 17:20 ----------

'[umka:
;12184339']
На апаче, думается мне, просто так выдать 404 с помощью .htaccess не получится.
Можно сделать как-то так:
RewriteRule %{REMOTE_ADDR} !123\.45\.67\.89
RewriteRule ^wp-admin /error404.php [L]

Это не работает если вставить в .htaccess в корне сайта и/или в wp-admin.

Что-то у меня и так и так не работает, в httpd.conf добавила

<Directory "/usr/local/www/apache22/data>
RewriteEngine on
RewriteCond %{REMOTE_ADDR} !77.110.1.33 [NC]
RewriteRule wp-admin - [R=404,L,NC]
</Directory>

Для Nginx правда чуть по другому сделала


location ~ ^/(wp-admin|wp-login\.php$) {
if ( $remote_addr != 77.110.1.33 ) { return 404;}
}

Полный конфиг nginx.conf


user www;
worker_processes 2;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
worker_connections 10000;
}

http {
include mime.types;

access_log off;
log_not_found off;
server_tokens off;
sendfile on;

keepalive_timeout 15;
tcp_nodelay on;

gzip on;

server_names_hash_bucket_size 128;
limit_conn_zone $binary_remote_addr zone=one:10m;
client_max_body_size 200m;



server {
listen 80 default;
server_name localhost;

location / {
proxy_pass http://127.0.0.1:8080/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ~ ^/(wp-admin|wp-login\.php$) {
if ( $remote_addr != 77.110.1.33 ) { return 404;}
}

}


include vhosts/*.conf;

}

Можно, а как это будет все вместе выглядить, если сайт к примеру находится по адресу

/usr/local/www/apache22/data/domain.com/wp-admin  ? 

т.е. чтобы я имела доступ к wp-admin, а всем остальным 404. И все таки через apache, тоже интересно как это сделать.

шагну на 120$

3BEPEK:
C 14 числа у всех %20 ссылок ушло в слип и до сих пор там ( ?

Наблюдаю такое же, много слипов и доход упал на 25% где-то. Причем на двух аккаунтах.

Забрала 2-ой, 3-ий и 4-ый пак. Все прошло без проблем и быстро, благодарю!

Всего: 291