ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Запретить всё, кроме определённых локэйшинов. Как?


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Запретить всё, кроме определённых локэйшинов. Как?
  • From: Андрей <deepmindster@xxxxxxxxx>
  • Date: Tue, 03 Jun 2008 20:59:01 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; bh=p2mczWoH/rhHhrh6CQ+ZY6mGggBwqL33tj6+9LOVyVg=; b=FVb0Huzuxi6+E1kyuuBK+CB/rvhDdkFZN6PyhRS11clTjMHtUuxfKCUb1CuUzpznvf1Kh27D2o02Of/kbUCvJYUOucX/GF6q5Hzr6ACTGjRRMVx0/CWz76CH5DGp8elWxjSColV0k9VHDkbwldQdHCvSORGmgpvpN1nr6qi/M9A=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:user-agent:mime-version:to:subject:references:in-reply-to:content-type:content-transfer-encoding; b=JbulbYzgA76qDwkU33Lc6fataYfdG98MO0wTFVDDYvpucKCijg1Zau/3YXVP4J8ODpOMcvL7dadyOAZNn6WUzJw/tKawAM1lbxYmHCR5e86Rgwy1inTruIuqLYR64cfTI+6iwDv2lqI2iDlbmO3edbH3BzvcYcTbf/oczvtyQ80=
  • In-reply-to: <48456F2C.8050704@xxxxxxxxx>
  • References: <48455957.4070903@xxxxxxxxx> <91c9771b0806030814u5340f9e2hf00b073891c22dd@xxxxxxxxxxxxxx> <48456804.6030108@xxxxxxxxx> <48456F2C.8050704@xxxxxxxxx>

Sergey Shepelev пишет:
Для скорости лучше сделать

location = / { rewrite / /index.php?page=nosuch last; } # если я правильно понял, индекс нужно закрыть
ясно, спасибо

location / {
  rewrite /no-such-page /index.php?page=nosuch last;
  rewrite /tech-problems /tech-problems.html last;
  error_page 404 = /index.php last;
# это не совсем ^/([^\/]+/$ но как частный случай работает и работает намного быстрее. Вордпресс с этим у меня нормально работает. Речь ведь про вордпресс, да?
Откровенно говоря, с вордпресс не встречался. Этот вариант не подходит, но всё равно спасибо.
  deny all;
}

Андрей пишет:
  Спасибо, не помогло :)
Но на мысль (совместно с другим письмом) натолкнуло. Убрал

location ~ / {
    deny all;
}

совсем, а location ^~ / { переписал в виде

      location / {
          rewrite /no-such-page /index.php?page=nosuch last;
          rewrite /tech-problems /tech-problems.html last;
          rewrite ^/([^\/]+)/$ /index.php?page=$1 last;
      deny all;
      }

вроде работает.
Тему можно считать закрытой.

Спасибо.

Андрей.

Борис Долгов пишет:
Тогда в конец:
location = / {
    rewrite / /index.php?page=nosuch last;
}

2008/6/3 Андрей <deepmindster@xxxxxxxxx> <mailto:deepmindster@xxxxxxxxx>:
Доброго времени суток.

Есть конфиг nginx-а, собственно, всё в этом конфиге хорошо и всё устраивает, единственная проблема - по запросу example.com/ выдаётся ответ forbidden, а
хотелось бы видеть no-such-page.

конфиг примерно такой:

 server {

      listen  xxx.xxx.xxx.xxx:80;
      server_name  example.com;

      root            /srv/www/vhosts/example.com
      index           no-such-page;

access_log /var/log/nginx/example.com.access.log main;
      error_page      404 403                 =200    /no-such-page;
      error_page      500 501 502 503 504     =200    /tech-problems;

      client_max_body_size       16k;
      client_body_buffer_size    16k;

      location ^~ / {
          rewrite /no-such-page /index.php?page=nosuch last;
          rewrite /tech-problems /tech-problems.html last;
          rewrite ^/([^\/]+)/$ /index.php?page=$1 last;
      }

      location = /robots.txt {

      }

      location = /tech-problems.html {

      }

      location = /index.php {
          fastcgi_pass   127.0.0.1:1026;
          fastcgi_param  SCRIPT_FILENAME
 /srv/www/vhosts/example.com$fastcgi_script_name;
          include fastcgi_params;
          internal;
      }

      location /images_special {
          root /srv/www/vhosts/example.com;
          internal;
          expires 8h;
      }

      location ~ / {
          deny all;
      }
  }

подскажите, как добится желаемого, пжл. Ну и может общие замечания-советы,
тоже буду рад. Спасибо.
nginx 0.6.31













 




Copyright © Lexa Software, 1996-2009.