Nginx: IP-Adresse zum Domainnamen umleiten


12

Mit der folgenden Nginx-Konfiguration:

server {
    listen 80;
    listen [::]:80 default_server ipv6only=on;

    server_name isitmaintained.com;

    ...
}

server {
    listen 178.62.136.230:80;
    server_name 178.62.136.230;

    add_header X-Frame-Options "SAMEORIGIN";

    return 301 $scheme://isitmaintained.com$request_uri;
}

Ich versuche, http://178.62.136.230/auf http://isitmaintained.com/ umzuleiten , aber wenn ich diese Konfiguration bereitstelle, erhalte ich einen Redirect loopoder beide dieser Links.

Was mache ich falsch?

Antworten:


30

Versuchen Sie dies im zweiten Block:

server {
    listen 80;
    server_name 178.62.136.230;

    return 301 $scheme://isitmaintained.com$request_uri;
}

Das Problem ist, dass die zweite Serverblock- listenDirektive spezifischer ist als der erste Serverblock, daher wird sie immer verwendet. Und da der zweite Block der einzige virtuelle Host für diese listenSpezifikation ist, wird er immer verwendet.


Das macht Sinn. Aber wenn ich dies anwende, erhalte ich die folgende Fehlermeldung: nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32:( Und das macht keinen Sinn, weil mein Domainname nicht so lang ist.
Matthieu Napoli

Aus irgendeinem Grund benötigt Ihre Einrichtung mehr Speicherplatz für die Namen der virtuellen Hostserver in Nginx. Sie sollten daher nur die Einstellung erhöhen.
Tero Kilkanen

Ich entschuldige mich dafür, dass ich es nicht direkt versucht habe. Ich war mir sicher, dass etwas nicht stimmte. Aber Sie hatten Recht, die Umleitung funktioniert jetzt! Ein sehr herzliches Dankeschön :)
Matthieu Napoli

Sie sind F ***** richtigen Mann, haben ein Problem von mir gelöst, upvoted, thnx
a_m_dev

3

Du warst nah. Es ist neu zu schreiben, dass Sie suchen.

server {
    listen 178.62.136.230:80;
    server_name 178.62.136.230 isitmaintained.com;

    rewrite  ^/(.*)$  http://www.isitmaintained.com/$1 permanent;
}
server {
    listen 80;
    server_name www.isitmaintained.com;
    # Serve Stuff Here.
}

5
Dies rewriteund returnhöher machen genau das Gleiche.
Tero Kilkanen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.