Puncte:0

Nginx pune browserul într-o buclă de redirecționare atunci când utilizează mai multe blocuri de server

drapel cn

Folosesc Nginx pentru a găzdui un număr de gazde virtuale (sau blocuri de server în nomenclatura Nginx). Toate aceste gazde au același domeniu, fiecare având propriul său subdomeniu. Un subdomeniu intră într-o buclă de redirecționare fără sfârșit, comportament evident nedorit.

NB: Mi-am redactat numele de domeniu și l-am înlocuit cu <mysite>.

Domeniul rădăcină - www.<site-ul meu>.com primește cereri conform așteptărilor. De asemenea, redirecționează cererile HTTP către HTTPS. Este configurat în <site-ul meu>-www.

Subdomeniul active.<site-ul meu>.com primește și cereri conform așteptărilor. Nu este configurat pentru a redirecționa HTTP către HTTPS, oricare dintre protocolul este servit. Nu există probleme. Este configurat în <site-ul meu>-holding.

Subdomeniul final soft.<site-ul meu>.com este configurat identic cu active.<site-ul meu>.com dar se clatine. În schimb, trimite browserul într-o buclă de redirecționare, de fiecare dată indicând spre https://soft.<site-ul meu>.com Acest lucru se întâmplă în ciuda faptului că nu există o astfel de setare în fișierul de configurare pentru acest vhost. Este configurat în <site-ul meu>-soft.

Configurare pentru <site-ul meu>-www:

Server {
    nume_server www.<site-ul meu>.com;

    asculta 80 default_server ;
    asculta [::]:80 default_server;

    Locație / {
        returnează 301 https://$server_name$request_uri;
    }

    rădăcină /var/www/html;
}

Server {
    asculta 443 ssl default_server;
    ssl_certificate /etc/letsencrypt/live/www.<site-ul meu>.com/fullchain.pem; 
    ssl_certificate_key /etc/letsencrypt/live/www.<site-ul meu>.com/privkey.pem;
    includ /etc/letsencrypt/options-ssl-nginx.conf;

    rădăcină /var/www/html;
    nume_server www.<site-ul meu>.com;
    pagina de eroare 404 /404.html;

    Locație / {
        limit_req zone=mylimit burst=20 nodelay;
        try_files $uri $uri/ =404;
        index index.html index.htm;
    }
}

Configurare pentru <site-ul meu>-holding:

Server {
    asculta 80;
    asculta [::]:80;
    asculta 443 ssl;

    activele nume_server.<site-ul meu>.com;

    ssl_certificate /etc/letsencrypt/live/assets.<site-ul meu>.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/assets.<site-ul meu>.com/privkey.pem; 
    includ /etc/letsencrypt/options-ssl-nginx.conf;

    rădăcină /var/www/holding/html;

    Locație / {
        limit_req zone=mylimit burst=20 nodelay;
        try_files $uri $uri/ =404;
        index index.html;
    }

Fișierul de configurare pentru soft.<site-ul meu>.com este identic cu cel de mai sus, cu excepția cazului în care scrie „activ” spune „soft”. Și totuși intră în această buclă de redirecționare fără sfârșit.

Am încercat să modific directiva de locație. M-am consultat documentele care erau mai bune decât se aşteptau. Totuși, se face buclă. Ajutorul va fi apreciat!

Michael Hampton avatar
drapel cz
Vă rugăm să postați rezultatul lui `nginx -T`
Puncte:0
drapel cn

După cum sa întâmplat, problema a fost următoarea:

Nu făcusem linkuri simbolice corecte de la /sites-enabled la /sites-available și folosea un duplicat vechi al <site-ul meu>-www care a provocat bucla de redirecționare.

A avea fișierul configurat ca mai sus în întrebarea mea a fost soluția. Fie copierea acestuia pe site-uri activate, fie crearea de linkuri simbolice corecte va rezolva problema pentru oricine se află într-o situație similară.

Greșeala mea.

drapel us
Ar trebui să aveți o gazdă virtuală `default_server` care captează toate cererile care nu se potrivesc cu niciun server virtual. Ar dezvălui mai ușor astfel de probleme, ajută la problemele de conținut duplicat Google etc.

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.