ПРОЕКТЫ 


  АРХИВ 


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: Sergey Shepelev <temotor@xxxxxxxxx>
  • Date: Tue, 03 Jun 2008 20:19:56 +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=DNwzIsYJktfkfg0KOQ+cxHh3jv1hASJF93P8DDvCkd4=; b=sgPACAxmccDvHCQ+dY8kQkr9yByEhaWSdFahW8szwTBgTmPVLYPY3vk07/EiZv9u5YFI7XefTgH25PHMKj0tqjcqFNx1c/4QWK6yqZ3qlmyCFpk6TV267vriMHqw2C/nGD9Afv1yupxvog5TdiBWocCB4W3woSfn2ykT5tGHMV8=
  • 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=mc1JOrwif8sJjLdJetQ0ic52sIOZ289yPUVENE12N247o5E0sItn6L7XtS3vGCzZqXb/hjZsxFsHD0/L7jxpcd7ktKQjjVfWHv09YMsCgqkJL0LmBGLEl8J228L5Z3QdFLxdIqczTaiSlS8kOvoVjR2aJCWOb9bCnAdpyNNH47M=
  • In-reply-to: <48456804.6030108@xxxxxxxxx>
  • References: <48455957.4070903@xxxxxxxxx> <91c9771b0806030814u5340f9e2hf00b073891c22dd@xxxxxxxxxxxxxx> <48456804.6030108@xxxxxxxxx>

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

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.