верните server_name *; # пожалуйста :)
Maxim Dounin
mdounin at mdounin.ru
Wed May 28 13:45:42 MSD 2008
Hello!
On Wed, May 28, 2008 at 01:09:53PM +0400, Alexey V. Karagodov wrote:
> а как же тогда использовать accept_filter?
> ведь в location где стоит один рерайт, accept_filter не особо нужен ...
> или я неправильно всё понял?
Вообще, accept_filter для nginx'а не особо нужен (а в некоторых
случаях может быть и вреден), и лучше его не использовать.
Но в любом случае - accept_filter ставится не на location, а на
listen socket. И всё равно в каком сервере он указан, если listen
socket один.
Maxim Dounin
>
> On 28.05.2008, at 8:52, Igor Sysoev wrote:
>
>> On Wed, May 28, 2008 at 03:20:05AM +0400, Alexey V. Karagodov wrote:
>>
>>> default я указал, чтобы использовать httpready фильтр
>>>
>>>
>>> On 28.05.2008, at 2:53, TDz wrote:
>>>
>>>> Разве server_name * не будет коллизией с listen 80 default?
>>>> У нас это реализовано именно так - перечисляются все виртуальные
>>>> хосты а всё
>>>> что не совпало идёт на vhost где listen 80 default;
>>>> Альтернативно мне кажется можно хост который должен быть *
>>>> разместить после
>>>> всех вхостов, тогда он будет обрабатываться при отсутствии других
>>>> совпадений
>>> небудет. пробовал. попадает в default, даже если server_name не
>>> совпадает с перечисленным
>>
>> Да, все сервера с несовпадающим именем попадают в default.
>>
>> Соответственно, нужно убрать default и accept_filter с первого сервера
>> и указать его там, где нужен редирект:
>>
>> server {
>> listen 80 default accept_filter=httpready;
>> server_name _;
>> rewrite ^(.*) http://www.company.ru$1
>> permanent;
>> }
>>
>>
>> --
>> Игорь Сысоев
>> http://sysoev.ru
>>
>
>
More information about the nginx-ru
mailing list