Rezumat - trebuie să adăugați IP-uri pe lista albă la mysite1.example.com. acum, când sunt adăugate, nu funcționează, deoarece fiecare cerere vine așa cum provine de la serverul de echilibrare a încărcăturii.
Lucrez la o configurare cu o gazdă Nginx cu poziție frontală cu un backend în amonte pentru a echilibra toate pachetele tcp de pe portul 443 către serverele backend.
Configurația nginx a serverului Loadbalancer care rulează nginx - serverul C este ca mai jos
curent {
în amonte stream_backend {
hash $remote_addr consistent;
server 10.15.15.3:443; ## serverul A
server 10.15.15.9:443; ## serverul B
}
Server {
asculta 443;
proxy_pass stream_backend;
proxy_timeout 5s;
proxy_connect_timeout 5s;
}
}
serverul A și serverul B au mai jos nginx.conf. sunt servere identice cu aplicații.
are două gazde virtuale care rulează în fiecare. functioneaza bine.
http {
Server {
server_name mysite1.example.com;
asculta *:443 ssl;
asculta [::]:443 ssl;
permite 123.45.85.220; # asta pare să nu funcționeze
nega totul; # doar asta funcționează
locație ^~ /static/ {
...
}
...
ssl_certificate file.pem;
ssl_certificat_key file.key;
}
Server {
server_name mysite2.example.com;
asculta *:443 ssl;
asculta [::]:443 ssl;
locație /ceva {
...
}
locație /ceva2{
...
}
ssl_certificate file.pem;
ssl_certificat_key file.key;
}
}
ceea ce am nevoie este să pun pe lista albă doar câteva ip-uri la gazda virtuală mysite1.example.com.
Problema cu care mă confrunt este că nginx care rulează pe Serverul A și B văd Ip-ul de echilibrare a încărcăturii ca IP-ul client. deci atunci când ați încercat să adăugați permis IP; nega totul. nu funcționează pentru nicio gazdă, deoarece are IP-ul de echilibrare a încărcăturii la toate solicitările ca IP client.
Poate cineva să mă ghideze cu privire la adăugarea de configurații IP proxy pentru a realiza configurarea menționată mai sus să funcționeze bine.
Configurarea este completă, cu excepția problemei listei albe de IP.
p.s Terminarea SSl are loc la serverele back-end, serverul A și serverul B
Am căutat pe web și le-am găsit utile, dar tot nu mi-am putut da seama cum să funcționeze totul.
https://stackoverflow.com/questions/40873393/nginx-real-client-ip-to-tcp-stream-backend
https://www.cyberciti.biz/faq/nginx-redirect-backend-traffic-based-upon-client-ip-address/