Sådan konfigureres usikre anmodninger om opgradering i Nginx

I den digitale æra, hvor sikkerhed er altafgørende, vil denne vejledning demonstrere, hvordan man konfigurerer usikre opgraderingsanmodninger i usikre opgraderingsanmodninger. Denne kritiske sikkerhedsfunktion i webudvikling leder browsere til automatisk at opgradere HTTP-anmodninger til HTTPS. Dette er med til at sikre, at al kommunikation mellem klienten og serveren er krypteret, hvilket forbedrer den overordnede sikkerhed på dit websted. Konfiguration af denne funktion i NGINX hjælper med at opretholde en sikker browsingoplevelse for dine brugere og kan bidrage til bedre SEO-placeringer.

Denne vejledning vil lede dig gennem trinene til at konfigurere usikre opgraderingsanmodninger i NGINX, hvilket sikrer, at al HTTP-trafik omdirigeres til HTTPS, hvilket forbedrer din webservers sikkerhed.

Tilføj usikre anmodninger om opgradering i Nginx globalt

Få adgang til Nginx-konfigurationsfilen

Start processen ved at få adgang til Nginx-konfigurationsfilen, som typisk findes på /etc/nginx/nginx.conf. Brug følgende kommando til at åbne filen:

sudo nano /etc/nginx/nginx.conf

Det er vigtigt at bemærke, at du har brug for administrative rettigheder for at redigere denne fil. Dette trin sikrer, at alle ændringer, du foretager, er sikre og godkendte.

Indsæt header for usikre anmodninger om opgradering

I filen nginx.conf skal du finde http blok. Her skal du tilføje en specifik linje, der kommanderer browsere til at opgradere alle HTTP-anmodninger til HTTPS. Denne forbedring er afgørende for at sikre dit websteds dataoverførsel. Indsæt følgende linje:

add_header Content-Security-Policy "upgrade-insecure-requests";

Konfigurationseksempel:

http {
    ...
    add_header Content-Security-Policy "upgrade-insecure-requests";
    ...
}

Testopgradering Usikre anmodninger er aktive

Dette direktiv spiller en afgørende rolle i webstedets sikkerhed ved at sikre, at alle anmodninger automatisk opgraderes til en sikker HTTPS-forbindelse, hvilket beskytter brugerdata og forbedrer troværdigheden.

Bekræft aktiveringen af ​​usikre anmodninger om opgradering

Efter implementering af ændringerne, genstart Nginx for at anvende dem. Brug denne kommando:

sudo systemctl restart nginx

For at bekræfte aktiveringen af ​​overskriften skal du udføre en test ved hjælp af værktøjer som f.eks curl. Dette værktøj hjælper dig med at inspicere svaroverskrifterne på dit websted. Udfør følgende kommando:

curl -I http://yourwebsite.com

Se efter Content-Security-Policy: upgrade-insecure-requests linje i svaret. Dets tilstedeværelse bekræfter, at opgraderingen til usikre anmodninger er aktiv.

Forventet terminaloutput:

HTTP/1.1 200 OK
Server: nginx/1.18.0 (Ubuntu)
Date: Wed, 20 Dec 2023 12:00:00 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Content-Security-Policy: upgrade-insecure-requests
...

Tilføj usikre anmodninger om opgradering i Nginx Server Block

Trin 1: Få adgang til Nginx Server Block Configuration

Start med at få adgang til den specifikke serverblok for dit domæne. Dette er normalt placeret i /etc/nginx/sites-available/ditdomæne. For at redigere denne fil skal du bruge følgende kommando for at sikre, at du har de nødvendige administrative rettigheder:

sudo nano /etc/nginx/sites-available/yourdomain

Dette trin er afgørende for at foretage direkte, domænespecifikke konfigurationsændringer til din Nginx-opsætning.

Konfigurer Upgrade Usikker i Nginx Requests Header

I Nginx-serverblokkonfigurationen skal du fokusere på at forbedre sikkerheden ved at tilføje upgrade-insecure-requests direktiv. Dette skal placeres inden for location / blok. Dette direktiv instruerer browsere om at skifte alle HTTP-anmodninger til det mere sikre HTTPS, hvilket forbedrer dit websteds datasikkerhed.

Tilføj følgende konfiguration:

server {
    ...
    location / {
        add_header Content-Security-Policy "upgrade-insecure-requests";
    }
    ...
}

Denne indstilling er medvirkende til at sikre individuelle serverblokke, især når du har flere domæner eller underdomæner hostet på den samme Nginx-server.

Bekræft funktionaliteten af ​​usikre opgraderingsanmodninger

Når du har gemt dine ændringer, skal du genstarte Nginx for at sikre, at de nye indstillinger træder i kraft:

sudo systemctl restart nginx

For at bekræfte, at overskriften er aktiv, skal du bruge et værktøj som f.eks curl for at inspicere HTTP-svarets overskrifter:

curl -I http://yourdomain.com

Som med det foregående afsnit, se efter Content-Security-Policy: upgrade-insecure-requests i svaret. Dette bekræfter, at headeren er korrekt implementeret og aktiv for din specifikke serverblok.

Nginx Upgrade Secure Requests: Avancerede eksempler

Betinget opgradering baseret på anmodningsmetode

Denne opsætning er ideel til scenarier, hvor du skal differentiere adfærd baseret på HTTP-anmodningsmetoden. Den anvender selektivt upgrade-insecure-requests-headeren og undgår den for følsomme POST-anmodninger, der kan føre til problemer med indsendelse af data.

map $request_method $upgrade_insecure {
    POST   0;
    default 1;
}

server {
    ...
    location / {
        if ($upgrade_insecure) {
            add_header Content-Security-Policy "upgrade-insecure-requests";
        }
        ...
    }
}

Brugeragentspecifikke opgraderinger

At skræddersy opgraderingsprocessen baseret på brugerens browser kan være afgørende for kompatibiliteten. Denne konfiguration aktiverer kun opgraderingen for specifikke brugeragenter, såsom Chrome eller Firefox, hvilket giver en mere målrettet tilgang.

map $http_user_agent $upgrade_condition {
    ~*chrome 1;
    ~*firefox 1;
    default 0;
}

server {
    ...
    location / {
        if ($upgrade_condition) {
            add_header Content-Security-Policy "upgrade-insecure-requests";
        }
        ...
    }
}

Sti-specifik opgraderingsapplikation

Anvendelse af sikkerhedsopgraderinger til specifikke områder af et websted kan være afgørende, især i miljøer, hvor kun visse sektioner håndterer følsomme oplysninger. Denne opsætning muliggør opgraderingen for en udpeget sti, som f.eks /secure-area/.

server {
    ...
    location /secure-area/ {
        add_header Content-Security-Policy "upgrade-insecure-requests";
        ...
    }
    location / {
        ...
    }
}

Integrering af opgradering med ekstra sikkerhedsoverskrifter

Kombination af direktivet om opgradering-insecure-requests med andre sikkerhedsheadere forbedrer serverens overordnede sikkerhed. Denne omfattende tilgang er ideel til miljøer, der kræver robuste sikkerhedsforanstaltninger.

server {
    ...
    location / {
        add_header Content-Security-Policy "upgrade-insecure-requests; default-src https:";
        add_header X-Content-Type-Options nosniff;
        add_header X-Frame-Options SAMEORIGIN;
        ...
    }
}

Implementering af opgradering med brugerdefineret logning

Denne konfiguration hjælper med at spore opgraderingsprocessen i miljøer, hvor overvågning og logning er afgørende. Det logger anmodninger, der er opgraderet fra HTTP til HTTPS, og hjælper med sikkerhedsrevisioner og -analyser.

map $scheme $log_upgrade {
    http 1;
    default 0;
}

server {
    ...
    location / {
        if ($log_upgrade) {
            access_log /var/log/nginx/upgrade.log;
            add_header Content-Security-Policy "upgrade-insecure-requests";
        }
        ...
    }
}

Disse avancerede konfigurationer giver nuanceret kontrol over, hvordan og hvornår opgraderingen fra HTTP til HTTPS sker, imødekommer specifikke behov og forbedrer sikkerheden og funktionaliteten af ​​Nginx-servere.

Konklusion

Ved at konfigurere Upgrade Insecure Requests i NGINX sikrer du, at al HTTP-trafik automatisk opgraderes til HTTPS, hvilket forbedrer sikkerheden på dit websted. Denne konfiguration beskytter ikke kun brugerdata, men hjælper også med at forbedre dit websteds SEO. Gennemgå og opdater regelmæssigt dine NGINX-indstillinger for at opretholde optimal sikkerhed og ydeevne. Nyd den ro i sindet, der følger med at vide, at din webtrafik er sikker og krypteret.

Joshua James
Følg mig
Seneste indlæg af Joshua James (se alt)

Skriv en kommentar