Perché il reindirizzamento all'interno del file di configurazione di nginx è inefficiente?


0

Qualcuno può spiegare perché lo dicono nella documentazione di nginx? Perché è "ingombrante e inefficace"?

Un reindirizzamento a un sito principale

Le persone che durante la loro vita in hosting condiviso usavano configurare tutto usando solo i file .htaccess di Apache, di solito traducono le seguenti regole:

RewriteCond  %{HTTP_HOST}  nginx.org
RewriteRule  (.*)          http://www.nginx.org$1
to something like this:

server {
    listen       80;
    server_name  www.nginx.org  nginx.org;
    if ($http_host = nginx.org) {
        rewrite  (.*)  http://www.nginx.org$1;
    }
    ...
}

Questo è un modo sbagliato, ingombrante e inefficace. Il modo giusto è definire un server separato per nginx.org:

server {
    listen       80;
    server_name  nginx.org;
    return       301 http://www.nginx.org$request_uri;
}

server {
    listen       80;
    server_name  www.nginx.org;
    ...
}

Risposte:


1

Perché ogni volta che si colpisce il sito nella prima opzione, verrà ricontrollato l'intestazione host se reindirizzare o meno. e sul secondo non accadrà, inviando alcuni cicli di CPU nella spazzatura.

:)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.