Eu sou novo no nginx, estou usando-o para fins de encaminhamento de solicitação, cada solicitação recebida é encaminhada para outro servidor/url abaixo é minha configuração:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8008 ssl;
listen localhost:8008 ssl;
listen xyz.exmaple.com:8008 ssl;
server_name xyz.exmaple.com;
more_set_headers 'Server: ABC';
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM,EDH+AESGCM";
ssl_certificate /logs/ssl/SSL.crt;
ssl_certificate_key /logs/ssl/key.key;
location /app/ {
proxy_pass https://proxy1.example.com:8888/abc/efg;
proxy_read_timeout 60s;
# May not need or want to set Host. Should default to the above hostname.
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Frame-Options "SAMEORIGIN" always;
more_set_headers 'Server: ABC';
}
}
}
Cada solicitação emhttps://xyz.exmaple.com:8008/app/está sendo encaminhado parahttps://proxy1.example.com:8888/abc/efg
Agora tenho dois URLs:
1) https://proxy1.example.com:8888/abc/efg
2) https://proxy2.example.com:8888/abc/efg
Quero balanceamento de carga round robin para esses dois URLs. Como posso conseguir isso?
Responder1
Use upstream
para resolver esse problema. Exemplo:
http
{
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream backend
{
server proxy1.example.com:8888;
server proxy2.example.com:8888;
}
server
{
listen 8008 ssl;
listen localhost:8008 ssl;
listen xyz.exmaple.com:8008 ssl;
server_name xyz.exmaple.com;
more_set_headers 'Server: ABC';
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM,EDH+AESGCM";
ssl_certificate /logs/ssl/SSL.crt;
ssl_certificate_key /logs/ssl/key.key;
location /app/
{
proxy_pass https://backend/abc/efg;
proxy_read_timeout 60s;
# May not need or want to set Host. Should default to the above hostname.
proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
add_header X-Frame-Options "SAMEORIGIN" always;
more_set_headers 'Server: ABC';
}
}
}