Puncte:0

Proxy invers NGINX în amonte nu se conectează la un anumit port

drapel co

Încerc să ajung la unul dintre serverele backend, dar primesc această eroare:

27#27: *21653 connect() a eșuat (111: Conexiune refuzată) în timp ce se conectează la amonte, client: 84.255.55.25, server: premium.maltacraft.net, cerere: „GET / HTTP/1.1”, în amonte: „http://172.28.0.3:37200/”, gazdă: „premium.maltacraft.net”

Am o stivă docker-compose, așa cum se vede mai jos (exprimat unele servicii pentru simplitate):

Servicii:
  nginx-ingress:
    imagine: nginx:latest
    Logare:
      driver: „fișier-json”
      Opțiuni:
        dimensiune maxima: "50m"
        max-file: "10"
    reporniți: dacă nu este oprit
    porturi:
      - „80:80”
      - „443:443”
    volume:
      - „./nginx-ingress/nginx.conf:/etc/nginx/nginx.conf:ro”
      - „./nginx-ingress/dhparam.pem:/etc/ssl/dhparam.pem:ro”
      - „./nginx-ingress/sites-available:/etc/nginx/sites-available:ro”
      - „./nginx-ingress/sites-enabled:/etc/nginx/sites-enabled:ro”
      - „./nginx-ingress/webroot:/var/www”
      - „/etc/letsencrypt:/etc/letsencrypt:ro”
    retele:
      - multicraft
      - wp_maltacraft

retele:
  multicraft:
  wp_maltacraft:

Acesta este fișierul meu nginx.conf (destul de simplu):

utilizator nginx;
worker_proceses auto;

notificare error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;


evenimente {
    conexiuni_muncitor 1024;
}


http {
    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    #tcp_nopush on;

    keepalive_timeout 65;

    #gzip activat;

    includ /etc/nginx/sites-enabled/*.conf;
}

Acum, am 2 site-uri care se conectează la un server Apache, numit Vanilla și Premium. Cel Vanilla funcționează și îl puteți vedea funcționând aici: https://vanilla.maltacraft.net/

dar cel Premium nu, așa cum se vede aici: https://premium.maltacraft.net/

vanilla.maltacraft.net.conf:


vanilie în amonte {
    server multicraft:38200;
}

Server {
    asculta 443 ssl;
    asculta [::]:443 ssl;
    nume_server vanilla.maltacraft.net;
    server_tokens dezactivat;
    ssl_certificate /etc/letsencrypt/live/vanilla.maltacraft.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/vanilla.maltacraft.net/privkey.pem;

    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA3840:ECDHE-ECDSA-SHA3840

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers activat;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_session_timeout 5m;
    add_header Strict-Transport-Security "max-age=63072000";
    add_header 'X-Frame-Options' 'SAMEORIGIN';
    add_header 'X-XSS-Protection' '1; mod=bloc';
    add_header 'X-Content-Type-Options' 'nosniff';
    add_header 'Politica-referitor' 'fără trimitere';
    ssl_dhparam /etc/ssl/dhparam.pem;

    Locație / {
        proxy_read_timeout 3600;
        proxy_pass http://vanilla;
        proxy_set_header Gazdă $gazdă;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_set_header X-Forwarded-Ssl activat;
    }
}

premium.maltacraft.net.conf:


premium în amonte {
    server multicraft:37200;
}

Server {
    asculta 443 ssl;
    asculta [::]:443 ssl;
    nume_server premium.maltacraft.net;
    server_tokens dezactivat;
    ssl_certificate /etc/letsencrypt/live/premium.maltacraft.net/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/premium.maltacraft.net/privkey.pem;

    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHACH-SHA3820:ECDHE-ECDSA-AES256-GCM-SHA384

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers activat;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_session_timeout 5m;
    add_header Strict-Transport-Security "max-age=63072000";
    add_header 'X-Frame-Options' 'SAMEORIGIN';
    add_header 'X-XSS-Protection' '1; mod=bloc';
    add_header 'X-Content-Type-Options' 'nosniff';
    add_header 'Politica-referitor' 'fără trimitere';
    ssl_dhparam /etc/ssl/dhparam.pem;

    Locație / {
        proxy_read_timeout 3600;
        proxy_pass http://premium;
        proxy_set_header Gazdă $gazdă;
        proxy_set_header X-Real-IP $adresă_la distanță;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $schema;
        proxy_set_header X-Forwarded-Ssl activat;
    }
}

Daca schimb portul upstream al celui Premium (37200) in cel Vanilla (38200), merge bine si imi arata site-ul pentru Vanilla. Dar vreau să arate site-ul Premium.

Ambele site-uri au certificatele SSL generate și funcționează, iar linkul lor simbolic a fost generat pentru ambele (deoarece ambele apar cu aceeași configurație în site-uri activate pliant)

Aveți idee ce se poate face pentru a remedia această problemă? Sau poate pentru a depana

Puncte:0
drapel co

Problema a fost că serverul backend încerca să asculte localhost (127.0.0.1) și nu 0.0.0.0. L-am schimbat și acum funcționează

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.