Maxim Dounin
December 28, 2013 07:36AM
Hello!

On Sat, Dec 28, 2013 at 05:57:13AM -0500, buddha wrote:

> привет всем.
>
> есть 2 вопроса:
>
> 1. Понадобилось сделать чпу. Были ссылки вида
> http://www.host.ru/news/view?id=12 надо было переделать в виде
> http://www.host.ru/category/name_12
>
> Сделал это с помощью proxy_pass вот так:
>
> location ~ .+/.+_(\d+)$ {
> proxy_pass http://$server_name/news/view?id=$1
> }
>
> но возникла проблема. для хоста www.host.ru это работает нормально, а для
> хоста help.host.ru пишет no resolver defined
>
> поправил это вот таким способом
>
> location ~ .+/.+_(\d+)$ {
> resolver 8.8.8.8;
> proxy_pass proxy_pass http://$server_name/news/view?id=$1
> }
>
> конфиги для www.host.ru и help.host.ru - идентичные, отличаются только
> server_name и root_dir
>
> Вопрос: почему для первого хоста все работает и без resolver, а для второго
> прописывать обязательно?

Когда-то я думал, что rewrite'ы - это плохо. Теперь я понимаю,
что rewrite'ы по сравнению с перменными в proxy_pass - это детский
лепет.

Что до вопроса, то ответ на него есть в документации тут:

http://nginx.org/r/proxy_pass/ru

Резолвер не нужен, если проксирование происходит на имя сервера,
для которого описан upstream (возможно, неявно, через proxy_pass
на это имя).

> 2. Правильно ли таким образом делать чпу? с помощью rewrite не получилось.

Нет.

Самое правильно решение - делать всё это в приложении, на
нормальном языке программирования. Но proxy_pass с переменными
однозначно хуже, чем даже rewrite'ы.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Rewrite+resolver

buddha December 28, 2013 05:57AM

Re: Rewrite+resolver

Maxim Dounin December 28, 2013 07:36AM

Re: Rewrite+resolver

buddha December 28, 2013 08:26AM

Re: Rewrite+resolver

Daniel Podolsky December 28, 2013 09:14AM

Re: Rewrite+resolver

Daniel Podolsky December 28, 2013 09:16AM

Re: Rewrite+resolver

VBart December 28, 2013 10:52AM

Re: Rewrite+resolver

Daniel Podolsky December 29, 2013 06:16AM

Re: Rewrite+resolver

buddha December 29, 2013 08:02AM

Re: Rewrite+resolver

kemko December 29, 2013 08:46AM

Re: Rewrite+resolver

Maxim Dounin December 30, 2013 02:24PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 289
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready