Как перенаправить ваш IP-адрес на ваше доменное имя – CloudSavvy IT
Это крайний случай, но если кто-то введет ваш IP-адрес вместо вашего доменного имени, вы захотите, чтобы ваш сервер правильно обработал этот запрос и перенаправил их на реальный сайт. Мы покажем, как настроить его в NGINX и Apache.
Зачем это нужно?
Почти по каждому запросу пользователи, вероятно, приходят, используя ваше доменное имя, поэтому вы не увидите эту проблему на практике. Но это легко исправить, и добавить не мешало бы.
Вы можете настроить свой сервер так, чтобы он прослушивал ваш IP-адрес и возвращал перенаправление 301 на ваше настоящее имя, что устранит проблему и поместит имя вашего веб-сайта в строку URL для любых запросов только по IP-адресу.
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)
Тем не менее, лучший и более полный метод состоит в том, чтобы просто обрабатывать все другие маршруты, возвращая перенаправление. Таким образом, любые пользователи, отправленные на ваш IP-адрес из любого места (даже с неправильными заголовками узлов), будут перенаправлены. Например, если вы хотите указать альтернативное написание вашего домена (то есть, howtogreek.com), в ваш реальный домен, это перенаправление по умолчанию также работает.
Настройка маршрута по умолчанию в NGINX
Если вы просто хотите прослушивать IP-адрес, вы можете использовать следующую конфигурацию, которая возвращает перенаправление 301 для запросов, сделанных специально к 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; }
Тем не менее, вы можете специально прослушивать несоответствия, используя server_name _
, который соответствует, только если нет другого правила. Вы можете вернуть редирект 301 таким же образом:
server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 301 https://www.example.com$request_uri; }
Конечно, как и при любом перенаправлении 301, вы должны сначала протестировать временные перенаправления 302, чтобы убедиться в правильности конфигурации.
Настройка маршрута по умолчанию в Apache
В Apache вы можете перенаправить IP-запросы на ваше доменное имя, добавив правило перезаписи, соответствующее IP:
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^123.123.123.123$ RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
Если вы хотите перенаправить все остальные запросы, вы можете сделать это, сопоставив все, что не Ваше доменное имя, но будьте осторожны, чтобы оно не конфликтовало с какими-либо поддоменами.
RewriteEngine on RewriteCond %{SERVER_NAME} !=www.example.com RewriteRule ^ https://www.example.com%{REQUEST_URI} [END,NE,R=301]
Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)