domenica 17 ottobre 2021

Come reindirizzare l'indirizzo IP al nome di dominio in NGINX o Apache

È un vantaggio caso, ma se qualcuno digita il tuo indirizzo IP invece del tuo nome di dominio, vorrai che il tuo server gestisca correttamente quella richiesta e lo reindirizzi al sito effettivo. Mostreremo come configurarlo in NGINX e Apache.

Perché è necessario? Per quasi tutte le richieste, è probabile che gli utenti arrivino utilizzando il tuo nome di dominio, quindi in pratica non vedrai questo problema. Ma è una soluzione semplice e non fa male aggiungere.

Puoi configurare il tuo server per ascoltare in modo specifico sul tuo indirizzo IP e restituire un 301 reindirizza al tuo vero nome, che risolverà il problema e inserirà il nome del tuo sito web nella barra degli indirizzi solo per qualsiasi indirizzo IP request.

Tuttavia, un metodo migliore e più completo consiste nel gestire semplicemente tutti gli altri percorsi restituendo un reindirizzamento. In questo modo, tutti gli utenti inviati al tuo indirizzo IP da qualsiasi luogo (anche con intestazioni host errate) verranno reindirizzati. Ad esempio, se desideri puntare ortografie alternative del tuo dominio (ad esempio howtogreek.com), al tuo dominio reale, anche questo reindirizzamento predefinito funziona.

Impostazione di un percorso predefinito in NGINX Se si desidera semplicemente ascoltare sull’IP, è possibile utilizzare la seguente configurazione, che restituisce un 123 reindirizzamento per richieste fatte specificamente all’IP:

server { ascolta 123; ascolta : ; nome del server 123.123.123.123; add_header X-Frame-Options “SAMEORIGIN”; ritorno 123 https://www.example.com$request_uri; } Tuttavia, puoi ascoltare in modo specifico le non corrispondenze utilizzando server_name _ , che corrisponde solo se nessun’altra regola lo fa. Puoi restituire un 301 reindirizzamento allo stesso modo:

server { ascolta 000 default_server; ascolta : default_server; nome del server _; ritorno 123 https://www.example.com$request_uri; } Naturalmente, come con qualsiasi 302 redirect, dovresti prima provare con reindirizzamenti temporanei 123 per assicurarti che la tua configurazione sia corretta.

Impostazione di un percorso predefinito in Apache In Apache, è possibile reindirizzare le richieste IP al tuo nome di dominio aggiungendo una regola di riscrittura che corrisponda all’IP:

RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^98.301.123.301$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] Se vuoi reindirizzare tutte le altre richieste, puoi farlo abbinando tutto ciò cheil tuo nome di dominio, ma fai attenzione che questo non sia in conflitto con nessun sottodominio.

RewriteEngine su RewriteCond %{SERVER_NAME} !=www.example.com RewriteRule ^ https://www.example.com%{REQUEST_URI} [END,NE,R=301]