Puncte:0

Cum să utilizați Ngnix ca proxy invers pentru a accesa OpenShift (OKD) 4.X?

drapel in

Cum să utilizați Ngnix ca proxy invers pentru a accesa OpenShift (OKD) 4.X?

Am încercat sute de setări pentru proxy-ul invers (Nginx) și toate eșuează cu eroarea „Aplicația nu este disponibilă” când accesăm oauth-openshift.apps.mbr.some.dm traseu.

NOTĂ: Această problemă nu apare dacă accesăm direct această rută (fără a folosi Reverse Proxy). Poate că unele informații necesare pentru ca ruta să fie rezolvată nu sunt trimise.

Acesta este șablonul de configurare de bază pe care îl folosim...

Server {
    access_log /var/log/nginx/apps.mbr.some.dm-access.log;
    error_log /var/log/nginx/apps.mbr.some.dm-error.log;
    nume_server ~^(?<subdomeniu>.+)\.apps\.mbr\.some\.dm$;

    Locație / {
        proxy_pass https://10.2.0.18:443;
        proxy_set_header Gazdă $subdomain.apps.mbr.some.dm;
        proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
    }

    asculta 443;
    ssl_certificate /etc/letsencrypt/live/apps.mbr.some.dm/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/apps.mbr.some.dm/privkey.pem;
    includ /etc/letsencrypt/options-ssl-nginx.conf;
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
}

Am testat și acești parametri și am avut câteva probleme, așa cum puteți vedea mai jos...

Server {
    [...]
    Locație / {
        [...]
        proxy_ssl_certificate /etc/nginx/backend_ss_certs/apps.mbr.some.dm.crt;
        proxy_ssl_certificate_key /etc/nginx/backend_ss_certs/apps.mbr.some.dm.key;
        proxy_ssl_trusted_certificate /etc/nginx/backend_ss_certs/apps.mbr.some.dm.crt.key.pem;
        proxy_ssl_ciphers HIGH:!aNULL:!MD5;
        proxy_ssl_protocols TLSv1.2 TLSv1.3;
        proxy_ssl_server_name activat;
        proxy_ssl_session_reuse activat;
        proxy_ssl_verify on;
        [...]
    }
    [...]
}

Certificatele apps.mbr.some.dm.crt, apps.mbr.some.dm.key, apps.mbr.some.dm.crt.key.pem sunt certificatele autosemnate utilizate de OpenShift (OKD) pentru a permite accesul la resurse (HTTPS). Cu toate acestea, dacă încercăm să folosim aceste certificate cu proxy invers (Nginx), apare următoarea eroare ("Bad Gateway")...

22/07/2021 17:36:11 [eroare] 6999#6999: *1 eroare de verificare a certificatului SSL în amonte: (21: nu se poate verifica primul certificat) în timp ce acordarea de mână SSL către amonte, client: 177.25.231.233, server: ~ ^(?<subdomeniu>.+)\.apps\.mbr\.brlight\.net$, cerere: „GET /favicon.ico HTTP/1.1”, în amonte: „https://10.2.0.18:443/favicon .ico", gazdă: „oauth-openshift.apps.mbr.some.dm”, referitor: „https://oauth-openshift.apps.mbr.some.dm/oauth/authorize?client_id=console&redirect_uri=https%3A %2F%2Fconsole-openshift-console.apps.mbr.some.dm%2Fauth%2Fcallback&response_type=code&scope=user%3Afull&state=ff6f3064"

NOTĂ: Am testat apps.mbr.some.dm.crt și apps.mbr.some.dm.crt.key.pem certificate folosind răsuci si ambele au functionat perfect.


PLUS: Nu am putut defini o modalitate de a diagnostica/observa (jurnalele) despre ce nu merge bine atunci când solicitarea ajunge pe ruta oauth-openshift.apps.mbr.some.dm . Cred că asta ne-ar ajuta să ne dăm seama ce nu merge bine.

Michael Hampton avatar
drapel cz
Antetul X-Forwarded-For construit de dvs. nu este valid.
Eduardo Lucio avatar
drapel in
L-am încercat deja și pe acesta `proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;`. Aceeași problemă...

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.