FeaturedNOTICIAS

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


Logotipo de Nginx

Es un caso extremo, pero si alguien escribe su dirección IP en lugar de su nombre de dominio, querrá que su servidor maneje adecuadamente esa solicitud y la redirija al sitio real. Le mostraremos cómo configurarlo en NGINX y Apache.

¿Por qué es necesario?

Para casi todas las solicitudes, es probable que los usuarios lleguen usando su nombre de dominio, por lo que básicamente no verá este problema. Pero es una solución fácil y no está de más agregar.

Puede configurar su servidor para escuchar específicamente su dirección IP y devolver un redireccionamiento 301 a su nombre real, lo que solucionará el problema y colocará el nombre de su sitio web en la barra de URL para cualquier solicitud de solo dirección IP.

Sin embargo, un método mejor y más completo es simplemente manejar todas las otras rutas devolviendo una redirección. De esta manera, todos los usuarios enviados a su dirección IP desde cualquier lugar (incluso con encabezados de host incorrectos) serán redirigidos. Por ejemplo, si desea dirigir la ortografía alternativa de su dominio (por ejemplo, howtogreek.com), a su dominio real, esta redirección predeterminada también funciona.

Establecer una ruta predeterminada en NGINX

Si solo desea escuchar en la IP, puede usar la siguiente configuración, que devuelve una redirección 301 para las solicitudes realizadas específicamente a la IP:

server {
  listen 80;
  listen [::]:80;
  server_name 123.123.123.123;
 
  add_header X-Frame-Options "SAMEORIGIN";

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

Sin embargo, puede escuchar específicamente las discrepancias usando server_name _, que solo coincide si ninguna otra regla lo hace. Puede devolver un redireccionamiento 301 de la misma manera:

server {
  listen 80 default_server;
  listen [::]:80 default_server;
  server_name _;

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

Por supuesto, como con cualquier redireccionamiento 301, primero debe probar con redireccionamientos 302 temporales para asegurarse de que su configuración sea correcta.

Configurar una ruta predeterminada en Apache

En Apache, puede redirigir las solicitudes de IP a su nombre de dominio agregando una regla de reescritura que coincida con la 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 todas las No lo es su nombre de dominio, pero tenga cuidado de que no entre en conflicto con ningún subdominio.

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

TE INTERESA>>  50 millones y él para convencer a Joan Laporta. Fichaje del verano en marcha

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba