nginx dns
nginx keepalive y dns resolver (1)
Tengo una instancia de nginx en AWS que tiene una capa de aplicación en sentido ascendente.
Hay dos requisitos para nginx
- mantener viva
- use resolver para resolver dinámicamente el upstream
Puedo hacer que cualquiera de ellos funcione.
Aquí está la configuración para hacer un trabajo keepalive:
upstream "backend" {
server "appserver.example.com:443";
keepalive 250;
}
server {
resolver 10.0.0.2 valid=60s;
server_name _;
location / {
proxy_http_version 1.1;
proxy_pass https://backend;
}
}
Aquí está la configuración para resolver el DNS:
server {
resolver 10.0.0.2 valid=60s;
server_name _;
set $backend appserver.example.com:443;
location / {
proxy_http_version 1.1;
proxy_pass https://$backend;
}
}
¿Cómo puedo hacer que funcione tanto resolver DNS como keepalive sin usar un complemento de terceros en NGinx de código abierto?
De acuerdo con esta página wiki de Nginx, parece haber el plugin jdomain
http {
resolver 8.8.8.8;
resolver_timeout 10s;
upstream backend {
jdomain www.baidu.com;
# keepalive 10;
}
server {
listen 8080;
location / {
proxy_pass http://backend;
}
}
}