У меня есть обратный прокси-сервер nginx, который передает запросы от внешнего Amazon ELB к внутренним ELB.
У меня есть 6 серверных экземпляров, которые обрабатывают запросы. Конфиги с включенным сайтом выглядят так, но существуют разные номера портов и proxy_pass. Все остальное идентично:
server {
listen 3000;
location / {
proxy_pass http://internal-prod732r8-PrivateE-1GJ070M0745TT-348518554.eu-west-1.elb.amazonaws.com:3000;
include /etc/nginx/proxy.conf;
}
}
Примерно каждые 24 часа одна из конфигураций перестает работать. Все остальные прокси работают нормально. Если я перезапущу nginx, все конфигурации снова будут работать. В файле error.log нет ничего странного, в журнале доступа, syslog или dmesg нет ничего странного.
Это что-то известно? Что-то не так с моими конфигами прокси? Есть ли другие журналы, в которые я могу заглянуть?
nginx
reverse-proxy
user202172
источник
источник
Ответы:
Ответ на этот вопрос заключается в том, что ELB иногда меняют IP-адреса, а nginx разрешает имена во время запуска.
Чтобы это исправить, в вашем VPC всегда есть DNS-сервер на 0.2. Таким образом, если локальный ip CIDR равен 10.0.0.0/16, DNS-сервер находится на 10.0.0.2.
Добавьте это в конфигурацию nginx.
Proxy_pass также должен быть определен как переменная, иначе nginx разрешит его только один раз. Таким образом, исходя из конфигурации выше, это правильная конфигурация:
источник
Если ваш proxy_pass не передавался напрямую на один URL-адрес, как показано в примере ( http://amazonaws.com ), а вместо этого на прокси-ферму восходящего потока, например, так:
Тогда вы будете менее обеспокоены тем, что один из восходящих потоков временно потерпит неудачу. Потому что они все будут делать одну и ту же работу. Если один не отвечает, то следующий будет прокси для этого ответа. Спокойствие духа.
Nginx автоматически пропустит неисправный компьютер на x секунд. Пока вы не почините его, или пока он не вернется сам. ( http://wiki.nginx.org/HttpUpstreamModule )
Таким образом, какой бы ни была причина ваших прерываний, распределяя их в восходящей ферме, это упрощает настройку.
источник