Het Omleiden van Uw IP-Adres om Uw Domeinnaam

0
215

Het is een randgeval, maar als iemand in uw IP-adres in plaats van uw domeinnaam, u wilt uw server aan het verwerken van de aanvraag goed, en stuur ze dan door naar de eigenlijke site. Laten We je zien hoe je het moet instellen in NGINX en Apache.

Waarom Is Dit Nodig?

Voor bijna elk verzoek van gebruikers zijn waarschijnlijk komen in het gebruik van uw domeinnaam, zodat je niet echt zien dat dit probleem in de praktijk. Maar, het is een makkelijke oplossing, en geen kwaad toe te voegen.

U kunt uw server specifiek op de luister van uw IP-adres en het retourneren van een 301 redirect voor uw echte naam, die zal een oplossing voor het probleem en zet uw website naam in de URL-balk voor elk IP-adres-alleen aanvragen.

Echter, een betere en meer complete methode is om gewoon het verwerken van alle andere routes door het retourneren van een redirect. Op deze manier zullen alle gebruikers verzonden naar uw IP-adres van overal (zelfs met verkeerde host-headers) wordt doorgestuurd. Bijvoorbeeld, als je wilde het punt van alternatieve spelling van uw domein (bijvoorbeeld, howtogreek.com), naar uw echte domeinnaam, deze standaard redirect werkt ook.

Het instellen van een Default Route In NGINX

Als je gewoon wilt luisteren op de IP, kunt u gebruik maken van de volgende configuratie, die resulteert in een 301 redirect voor aanvragen die specifiek op het IP:

server {
luister 80;
luisteren [::]:80;
server_name 123.123.123.123;

add_header X-Frame-Options “SAMEORIGIN”;

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

U kunt echter specifiek luisteren voor niet-matches met behulp van server_name _, die alleen past als geen andere regel is. U kan de terugkeer van een 301 redirect op dezelfde manier:

server {
luister 80 default_server;
luisteren [::]:80 default_server;
server_name _;

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

Natuurlijk, zoals met een 301 redirect, je moet de eerste test met tijdelijke 302 redirects om ervoor te zorgen uw configuratie correct is.

Het instellen van een Default Route in Apache

In Apache, kunt u omleiden van IP-verzoeken om uw domeinnaam door het toevoegen van een herschrijfregel die overeenkomt met het IP -:

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

Als u wilt omleiden van alle andere aanvragen, kunt u dat doen door het afstemmen van alles, dat is niet de naam van uw domein, maar pas op dat deze niet in strijd is met alle subdomeinen.

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