В письме от понедельник, 6 марта 2023 г. 13:59:30 MSK пользователь Andrey 
Kopeyko написал:

> Если вы зададите для этого сервера несуществующее имя ("_" как рекомендует
> документация, или "fakehost.fakedomain") - переменная SERVER_NAME волшебным
> образом появится.

Проверил на практике:

    server_name _;

В $server_name и как следствие в SERVER_NAME попадает "_"; Скрипт не работает


    server_name fakehost.fakedomain;

В $server_name и как следствие в SERVER_NAME попадает "fakehost.fakedomain"; 
Скрипт не работает


Если явно указать все возможные домены

server_name lists.nataraj.su lists.sim-im.org;

то в $server_name и в SERVER_NAME попадает "lists.nataraj.su", вне зависимости 
от того на который домен я захожу. Т.е. на lists.sim-im.org отдают контент 
который должен отдаваться на lists.nataraj.su.

Это прямо противоречит букве RFC:

   A deployed server can have more than one possible value for this
   variable, where several HTTP virtual hosts share the same IP address.
   In that case, the server would use the contents of the request's Host
   header field to select the correct virtual host.


-- 
Nikolay Shaplov aka Nataraj
Fuzzing Engineer at Postgres Professional
Matrix IM: @dhyan:nataraj.su

Attachment: signature.asc
Description: This is a digitally signed message part.

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

Ответить