очень сложный язык полый профессионализмов, но курс, по информации, качественный, автору всех благ
@GoldenThiefBugMVP8 ай бұрын
10:28 не понял почему данный запрос (с query параметрами) попросит вернуть сервер заголовки test и server... Не говоря уже о том, что я вижу и test и server как в заголовках, так и в теле ответа на 10:32... Тут запутанно
@eazy-dev8 ай бұрын
Привет, спасибо за просмотр. Когда мы отправляет запрос, мы отправляем его на nginx на /response-headers, nginx проксирует его на httpbin. /response-headers роут у httpbin'а позволяет задать через query-параметры, какие заголовки мы хотим получить в ответ. Грубо говоря, он (httpbin) преобразовывает query-параметры в заголовки ответа и дополнительно дублирует их в теле ответа. Спеку этого роута ты можешь найти тут - httpbin.org/#/Response_inspection/get_response_headers Запутанно получилось с server, да. Я не обратил внимания. Мы просим вернуть заголовок server со значением httpbin, но в итоге получаем Server (с большой буквы) со значением версии nginx'а. В Server-заголовке nginx всегда возвращает себя и свою версию. Об этом будет в следующем ролике про безопасность. Ты можешь просто заменить server на x-server, к примеру. Смысл не изменится. Если что не понятно - спрашивай, если оперативно, то в телеге.
@PePTo-dx2yj8 ай бұрын
добрый день! спасибо очень все доходчиво описано, позвольте вопрос при установке proxy_next_upstream error опции, недоступность сервера, который ответил ошибкой , по умолчанию через сколько проверяется? и как? я про то что сервер через 10 минут ожил траффик на него , запросы, сразу вернутся? и еще если я использую опцию proxy_next_upstream не в location а в server, получается применяется ко всем proxy_pass во всех location's?
@eazy-dev8 ай бұрын
привет! В прошлом ролике об этом было рассказано (kzbin.info/www/bejne/b4Hcn4F-qLqBnM0). nginx.org/ru/docs/http/ngx_http_upstream_module.html#server смотри max_fails и fail_timeout запросы вернуться когда пройдет fail_timeout. через fail_timeout nginx попробует отправить запрос и если сервер жив - он вернется в балансировку. да, ты можешь указать proxy_next_upstream в контексте server'а и тогда оно будет применять ко всем proxy_pass'ам контекстом ниже. это все ты же можешь самостоятельно проверить, а то мало ли, я где то совру)
@PePTo-dx2yj8 ай бұрын
@@eazy-dev спасибо! просто буквально вчера попробовал смоделировать недоступность сервера в блоке upstream, просто поменял на несуществующий IP, получил ошибку no route to host и посыпались ошибки в мониторинге который отправлял запросы через этот upstream, (не выставлял max_fails и fail_timeout) но похоже то что мне нужно лежит в платной версии healyh_check, у меня nginx стоит перед k8s и обслуживает кучу доменных направлений, не всегда понятно сколько выставлять fail_timeout
@eazy-dev8 ай бұрын
Да, в платной версии активные хелзчеки рулят. Можно посмотреть openresty если платить не хочется)) возможно, там что то есть
@PePTo-dx2yj8 ай бұрын
@@eazy-dev haproxy есть еще в его сторону посмотрю, спасибо за ответы
@eazy-dev8 ай бұрын
Как вариант да
@BOJENKA360Ай бұрын
Стянул проект с гитхаба но выдает в логах нджинкса host not found in... Есть догадки почему?
@eazy-devАй бұрын
А что после in?))
@BOJENKA360Ай бұрын
@@eazy-dev Вот: nginx: [emerg] host not found in upstream "nginx-youtube-httpbin-1" in /etc/nginx/conf.d/httpbin.local.conf:2
@eazy-devАй бұрын
Ну а сервисы эти подняты? Под теми же названиями?
@BOJENKA360Ай бұрын
@@eazy-dev Да, только нджинкс встает на пару секунд и падает выдавая эту ошибку
@BOJENKA360Ай бұрын
@@eazy-dev Поменял местами название серверов в апстриме и все заработало спасибо)