it-swarm.com.de

Nginx: IP-Adresse zum Domainnamen umleiten

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/ Nach http://isitmaintained.com/ umzuleiten, aber wenn ich diese Konfiguration bereitstelle, erhalte ich einen Redirect loop Oder beide dieser Links.

Was mache ich falsch?

12
Matthieu Napoli

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 Direktive des zweiten Serverblocks listen spezifischer ist als der erste Serverblock, daher wird sie immer verwendet. Und da der zweite Block der einzige virtuelle Host für diese listen - Spezifikation ist, wird er immer verwendet.

30
Tero Kilkanen

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.
}
3
ticoombs