puertos - ¿La directiva "ascendente" de nginx tiene una configuración de puerto?
logstash tutorial español (1)
en su configuración ascendente tiene puertos definidos (6666 y 9999), esos son los puertos que sus servidores de back-end necesitan escuchar
La directiva proxy_pass no necesita una configuración de puerto adicional en este caso. Su nginx escucha en el port 81
que ha definido en la directiva de listen
¿Es esto lo que intentaste hacer?
http {
#...
upstream upstream_1{
server 192.168.1.100:6666;
server 192.168.1.101:9999;
}
upstream upstream_2{
server 192.168.1.100:6661; // other backstream port if you use port 81
server 192.168.1.101:9991;
}
server {
listen 80;
#.....
location ~ /myapp {
proxy_pass http://upstream_1;
}
}
server {
listen 81;
#.....
location ~ /myapp {
proxy_pass http://upstream_2;
}
}
}
Yo uso upstream
y proxy
para equilibrar la carga.
La directiva proxy_pass http://upstream_name
usa el puerto predeterminado, que es 80.
Sin embargo, si el servidor ascendente no escucha en este puerto, la solicitud falla.
¿Cómo especifico un puerto alternativo?
mi configuracion
http{
#...
upstream myups{
server 192.168.1.100:6666;
server 192.168.1.101:9999;
}
#....
server{
listen 81;
#.....
location ~ /myapp {
proxy_pass http://myups:81/;
}
}
nginx -t:
[warn]: upstream "myups" may not have port 81 in /opt/nginx/conf/nginx.conf:78.