В нашей конфигурации AWS есть сервер nginx, указывающий все запросы PHP на ELB с несколькими серверами PHP в нем. Когда сам ELB масштабируется, мы теряем соединение в течение следующих нескольких часов, поскольку эти старые IP-адреса используются повторно. При перезапуске серверов nginx IP-адреса ELB повторно кэшируются, и все возвращается в исходное состояние. Довольно стандартный материал.
Решение, которое я нашел повсюду, заключается в том, что мне нужно включить resolver
чтобы разрешить повторное разрешение, пока сервер работает. Проблема, с которой я сталкиваюсь, двоякая:
Вот моя текущая конфигурация:
http {
resolver 10.0.0.2 valid=10s;
...
server {
...
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
set $route "php:9000";
fastcgi_pass $route;
}
}
}
В статье, которую я нашел, упоминается использование tcpdump для просмотра DNS-запросов, но я ничего не вижу вообще, и определенно не каждые 10 секунд, как написано. Может ли это быть связано с использованием fastcgi_pass вместо proxy_pass? Я что-то еще упускаю?