из оных, если оба server_name это regexp
Т.е. я так понимаю, что там выбирается по порядку следования и вроде как выбирается последнее совпадение, но как поднять один из них или ноборот, опустить?
И наверное, nginx -T команда как раз и показывает, как он отрендерил?
Пример:
server_name ~^one*;
server_name ~^.*;
Щас в меня бросят тапком: map server_backend $http_host { ~^one* 127.0.1.1; ~^two* 127.0.2.1; } ... server { if ( $server_backend == "127.0.1.1" ) { server_name server_one; ... } if ( $server_backend == "127.0.2.1" ) { server_name server_two; ... } }
Ну парни, это вполне себе вопрос на собеседование =) Я похоже что разобрался. Там действительно можно проверять по выводу nginx -T и при двух regexp выбирается именно тот что стит ПЕРВЕЕ просто в конфиге (т.е. в лапше) Видимо если идет include, то можно скорее всего в алфавитном порядке назвать файлы (но это уже додумки, которые нужно проверять) 🙃
Обсуждают сегодня