Что нового

nginx и upstream, как можно отключить upstream ?

  • Автор темы Автор темы korner
  • Дата начала Дата начала
K

korner

Гость
Здравствуйте, есть абзуоустойчивкик на котором стоит nginx, в конфигах nginx все по простомуserver {#имя сайтаlocation / {proxy_pass http://www.сайт:80;proxy_set_header Host www.сайт.ru;include /etc/nginx/location.conf;}}Есть 100~ клиентов которые проксирует через сервер на свои сайты трафик, все как бы отлично но есть проблема с "upstream", например я добавил еще один сайт в конфиг и пытаюсь перезапустить nginx, в ответ получаю:Testing nginx configuration: nginx: [emerg] host not found in upstream То есть один из сайтов клиента временно недоступен, убрать временно нерабочий конфиг я не могу, добавить новый сайт так же не могу так как для этого нужно убрать нерабочий конфиг, как заставить nginx не проверять сайты на доступность при proxy_pass ?
 
[emerg] это не error - терпимо и работоспособно.
 
max_fails = NUMBER - number of unsuccessful attempts at communicating with the server within the time period (assigned by parameter fail_timeout) after which it is considered inoperative. If not set, the number of attempts is one. A value of 0 turns off this check.http://wiki.nginx.org/HttpUpstreamModule
 
BLIDE,Это не то. да и я натупил в пред ответе. вот такое решение естьThere is complex way - using variables in proxy_pass: proxy_pass http://host$request_uri;but you can not disable lookups for servers inside upstream blocks.
 
Цитата: dyakoff[emerg] это не error - терпимо и работоспособно.Странно, у меня если во время рестарт вылетает такая ошибка то весь сервер недоступен. Цитата: dyakoffThere is complex way - using variables in proxy_pass:proxy_pass http://host$request_uri;but you can not disable lookups for servers inside upstream blocks.То есть нужно к сайту добавить $request_uri ?
 
Переписывать конфиг на IP адреса не подходит, вариант server {#имя сайтаlocation / {proxy_pass http://www.сайт:80$request_uri;proxy_set_header Host www.сайт.ru;include /etc/nginx/location.conf;}}Так же не работает.
 
korner,вот так правильно:resolver 8.8.8.8; set $target http://проксируемый_сайт;proxy_pass $target;
 
Верх