Puncte:0

acces HTTPS frontend la http backend ngix

drapel cn

Am un frontend în Angular care acceptă https, în timp ce am un backend la portul 10080 care acceptă http. Încerc câteva modalități de proxy invers în fișierul de configurare ngix, dar încă se confruntă cu aceleași probleme.

În timp ce încerc această metodă, apare întotdeauna eroarea „Accesul la XMLHttpRequest la „https://example.com:30080/api/remoteControl/getactiveusers” de la origine „https://example.com” a fost blocat de politica CORS: Nu Antetul „Access-Control-Allow-Origin” este prezent pe resursa solicitată.”

Server {
    asculta 443 ssl;
    numele serverului  _;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" întotdeauna;
    root /usr/share/nginx/html;
    index index.html index.htm;
    includ /etc/nginx/mime.types;

    gzip on;
    gzip_min_length 1000;
    gzip_proxied a expirat fără cache fără stocare autentificare privată;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    ssl_certificat "xxx.crt";
    ssl_certificate_key "xxx.key";
    ssl_session_timeout 1d;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-DHACH3820:-DHACH3840: -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;
    ssl_capsare off;
    
    Locație / {
     dacă ($request_method = 'OPȚIUNI') {
        add_header Acces-Control-Permite-Origine *;
        add_header Acces-Control-Permite-Metode 'GET, POST, OPTIONS';
        add_header Content-Type text/plain;
        add_header Lungimea conținutului 0;
        întoarcere 204;
    }
    add_header 'Acces-Control-Allow-Origin' *;
    add_header 'Acces-Control-Allow-Methods' 'GET, POST, OPTIONS';

    try_files $uri $uri/ /index.html;
    }
    locație ~* \.(eot|ttf|woff|woff2)$ {
     add_header Acces-Control-Permite-Origine *;
   }
   

}
Server {
    asculta 10080 ssl http2;
    numele serverului  _;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" întotdeauna;
   ssl_certificat "xxxx.crt";
    ssl_certificate_key "xxx.key";
ssl_session_timeout 1d;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-DHACH3820:-DHACH3840: -RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_session_cache shared:SSL:10m;
    Locație / {
    
        proxy_pass „http://backend:80”;
        proxy_set_header Conexiune Keep-alive;
        proxy_set_header Gazdă $gazdă;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto https;    
# proxy_set_header X-Forwarded-Host $gazdă;
# proxy_hide_header X-Frame-Options;
        proxy_buffers 4 256k;
        dimensiunea_buffer_proxy 128k; 
        proxy_busy_buffers_size 256k;
    }
}

Stie cineva cum sa rezolv asta?

Mulțumiri

drapel in
Configurați serverul backend pentru a genera adresele URL corecte pentru solicitări (cu https, fără portul).
drapel cn
Îmi pare rău, puteți explica mai multe despre asta?
Puncte:0
drapel us

Configurația dvs. are mai multe probleme.

În primul rând, aveți două servere virtuale nginx orientate către public, pe portul 443 și pe portul 10080.Ar trebui să aveți doar un server care ascultă portul 443 și solicită proxy invers de acolo.

În al doilea rând, backend-ul tău generează conținut care are link-uri ca http://example.com:10080/page. Backend-ul dvs. ar trebui să genereze URL-uri precum https://example.com/page.

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.