Welcome! Log In Create A New Profile

Advanced

Re: merge_slashes

Roman Arutyunyan
May 30, 2024 10:38AM
Добрый день,

> On 29 May 2024, at 9:53 PM, Vladimir Sopot <jd@artdesign.ru> wrote:
>
> И как быть, если мне в одном из серверов необходимо иметь два подряд идущих слэша? Это purge для кэша, который зависит от cookies пользователя, которые, естественным образом могут быть пустыми.

Самый простой способ - использовать TLS с SNI. В таком случае выбор сервера будет происходить на этапе хендшейка TLS.

Теоретически можно изменить поведение nginx таким образом, чтобы при указании полного uri в строке запроса выбор сервера происходил до обработки uri, и это вам поможет.
Но это требует осторожности и анализа возможных последствий. И в этом случае marge_slashes будет работать по-разному в строке запроса и в заголовке Host, что тоже не очень хорошо.

>
>> On 24 Apr 2024, at 19:24, Roman Arutyunyan <arut@nginx.com> wrote:
>>
>> Добрый день,
>>
>>> On 16 Apr 2024, at 11:41 PM, Vladimir Sopot <jd@artdesign.ru <mailto:jd@artdesign.ru>> wrote:
>>>
>>> Здравствуйте!
>>>
>>> Есть примерно такой упрощённый конфиг и при обращении к some.local////////some.html merge_slashes не работает. Если в первом сервере убрать merge_slashes off, то всё работает нормально и во втором сервере.
>>> Почему так? nginx version: nginx/1.25.3
>>
>> На момент парсинга строки запроса, nginx еще не знает о том, какой виртуальный сервер будет выбран и использует настройки дефолтного.
>>
>> Если вы включите ssl, то ситуация будет другой..
>>
>>>
>>> http {
>>> merge_slashes on;
>>> }
>>>
>>> server {
>>> listen 127.0.0.1:80 default_server;
>>> server_name 127.0.0.1 _ "";
>>>
>>> merge_slashes off;
>>> allow 127.0.0.1;
>>> deny all;
>>>
>>> location /nginx_status {
>>> stub_status on;
>>> }
>>>
>>> …. много location
>>>
>>> }
>>>
>>> server {
>>> listen *:80;
>>> server_name some.local;
>>>
>>> …. много location
>>>
>>> }
>>>
>>> Best, VS
>>> _______________________________________________
>>> nginx-ru mailing list
>>> nginx-ru@nginx.org
>>> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>>
>> ----
>> Roman Arutyunyan
>> arut@nginx.com <mailto:arut@nginx.com>
>>
>>
>>
>>
>> _______________________________________________
>> nginx-ru mailing list
>> nginx-ru@nginx.org <mailto:nginx-ru@nginx.org>
>> https://mailman.nginx.org/mailman/listinfo/nginx-ru
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> https://mailman.nginx.org/mailman/listinfo/nginx-ru

----
Roman Arutyunyan
arut@nginx.com




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

merge_slashes

Vladimir Sopot April 16, 2024 03:44PM

Re: merge_slashes

Roman Arutyunyan April 24, 2024 12:26PM

Re: merge_slashes

Vladimir Sopot May 29, 2024 01:54PM

Re: merge_slashes

Roman Arutyunyan May 30, 2024 10:38AM

Re: merge_slashes

Anonymous User May 30, 2024 11:52AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 195
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready