Puncte:0

Nginx - blochează accesul la subfolder

drapel tr

Acesta este un site Next.js cu React. Rulați cu proxy NPM și Nginx către localhost.

Am următorul bloc de server nginx în virtualhost:

Server {
        asculta 443 ssl;
        nume_server dev.sekretyrozwojuosobistego.pl;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers activat;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
        client_max_body_size 15M;

        Locație /  {
                proxy_pass http://localhost:4006;
                proxy_http_versiunea 1.1;
                proxy_set_header Actualizare $http_upgrade;
                proxy_set_header Conexiune „upgrade”;
                proxy_set_header Gazdă $gazdă;
                proxy_cache_bypass $http_upgrade;
        }

}

Vreau să blochez accesul la /privat

Dacă adaug o nouă locație în acest fel, apar probleme:

Server {
        asculta 443 ssl;
        nume_server dev.sekretyrozwojuosobistego.pl;
    ssl_certificate /etc/letsencrypt/live/sekretyrozwojuosobistego.pl/fullchain.pem; # gestionat de Certbot
    ssl_certificate_key /etc/letsencrypt/live/sekretyrozwojuosobistego.pl/privkey.pem; # gestionat de Certbot

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers activat;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

        client_max_body_size 15M;


# return 301 https://$host$request_uri;


        locație /privat {
               auth_basic „Lucrări în curs”;
               auth_basic_user_file /etc/nginx/restricted/.htpasswd;
               proxy_pass http://localhost:4006;

               proxy_http_versiunea 1.1;
               proxy_set_header Actualizare $http_upgrade;
               proxy_set_header Conexiune „upgrade”;
               proxy_set_header Gazdă $gazdă;
               proxy_cache_bypass $http_upgrade;
        }


        Locație /  {
# auth_basic „Lucrări în curs”;
# auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                proxy_pass http://localhost:4006;
                proxy_http_versiunea 1.1;
                proxy_set_header Actualizare $http_upgrade;
                proxy_set_header Conexiune „upgrade”;
                proxy_set_header Gazdă $gazdă;
                proxy_cache_bypass $http_upgrade;
        }

}

Bun din această soluție:

  • /private poate fi accesat doar prin parolă

Rău din această soluție: Primesc astfel de erori:

Nu s-a încărcat resursa: serverul a răspuns cu starea 404 ()
webpack-917a29e0b939a068b2f9.js:1 Nu s-a încărcat resursa: serverul a răspuns cu starea 404 ()
_app-9d47fe6f5703c9f8e12f.js:1 Nu s-a încărcat resursa: serverul a răspuns cu starea 404 ()
_buildManifest.js:1 Nu s-a încărcat resursa: serverul a răspuns cu starea 404 ()
_ssgManifest.js:1 Nu s-a încărcat resursa: serverul a răspuns cu starea 404 ()

Dacă comentez /privat blocați locația, erorile 404 nu se mai întâmplă.

O fac gresit? Cum să remediez asta?

EDIT: Am reușit să o fac să funcționeze astfel:

            Locație /  {
# auth_basic „Lucrări în curs”;
# auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                    proxy_pass http://localhost:4006;
                    proxy_http_versiunea 1.1;
                    proxy_set_header Actualizare $http_upgrade;
                    proxy_set_header Conexiune „upgrade”;
                    proxy_set_header Gazdă $gazdă;
                    proxy_cache_bypass $http_upgrade;
            }
    
    
            locație ^~/privat {
                    auth_basic „Lucrări în curs”;
                    auth_basic_user_file /etc/nginx/restricted/.htpasswd;
                     proxy_pass http://localhost:4006;
           }

Cu toate acestea, nu sunt sigur dacă ar trebui să fie ^~/privat sau...

Ce vreau să blochez este: /privat /privat/ /privat? /privat?orice /privat/orice

djdomi avatar
drapel za
vă rugăm să partajați calea completă de la resursele eșuate/privat este cerut de aplicație
drapel tr
Tocmai am adăugat un EDIT la întrebarea inițială

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.