Cómo redirigir la dirección IP al nombre de dominio en NGINX o Apache

Contenuti

Logo Nginx

È un caso estremo, ma se qualcuno digita il proprio indirizzo IP invece del nome di dominio, vorrai che il tuo server gestisca correttamente quella richiesta e ti reindirizzi al sito reale. Ti mostreremo come configurarlo in NGINX e Apache.

Perché è necessario??

Per quasi tutte le richieste, è probabile che gli utenti accedano utilizzando il proprio nome di dominio, quindi non vedrai davvero questo problema in pratica. Ma è una soluzione facile e non guasta aggiungere.

Puoi configurare il tuo server per ascoltare in modo specifico il tuo indirizzo IP e restituire un reindirizzamento 301 nel suo vero nome, che risolverà il problema e inserirà il nome del tuo portale web nella barra degli indirizzi solo per qualsiasi richiesta di indirizzo IP.

Nonostante questo, un metodo migliore e più completo è semplicemente gestire tutti gli altri percorsi restituendo un reindirizzamento. In questo modo, qualsiasi utente inviato al tuo indirizzo IP da qualsiasi luogo (anche con intestazioni host sbagliate) verrà reindirizzato. Come esempio, se vuoi indicare grafie alternative per il tuo dominio (In altre parole, howtogreek.com), al suo dominio reale, funziona anche questo reindirizzamento predefinito.

Impostazione di un percorso predefinito in NGINX

Se vuoi solo ascoltare sull'IP, puoi usare l'impostazione successiva, che restituisce un reindirizzamento 301 per richieste fatte specificamente all'IP:

server {
  Ascoltare 80;
  Ascoltare [::]:80;
  nome del server 123.123.123.123;
 
  add_header X-Frame-Opzioni "STESSO ORIGINE";

  Restituzione 301 https://www.example.com$request_uri;
}

Nonostante questo, puoi ascoltare in modo specifico le discrepanze usando server_name _, che corrisponde solo se nessun'altra regola lo fa. Può restituire un reindirizzamento 301 nello stesso modo:

server {
  Ascoltare 80 default_server;
  Ascoltare [::]:80 default_server;
  nome del server _;

  Restituzione 301 https://www.example.com$request_uri;
}

Certo, come con qualsiasi reindirizzamento 301, devi prima provare con i reindirizzamenti 302 temporaneo per assicurarti che le tue impostazioni siano corrette.

Impostare un percorso predefinito in Apache

In Apache, puoi reindirizzare le richieste IP al tuo nome di dominio aggiungendo una regola di riscrittura che corrisponda all'IP:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^123.123.123.123$
RewriteRule ^(.*)$ http://www.example.com/$1 [l,R=301]

Si desea redirigir todas las demás solicitudes, puede hacerlo haciendo coincidir todo lo que Non è su nombre de dominio, aún cuando tenga cuidado de que no ingrese en conflicto con ningún subdominio.

RewriteEngine on
RewriteCond %{SERVER_NAME} !=www.example.com
RewriteRule ^ https://www.example.com%{REQUEST_URI} [FINE,NE,R=301]
Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.