nginx, dns - domain.com wird aufgelöst, subdomain.domain.com jedoch nicht

nginx, dns - domain.com wird aufgelöst, subdomain.domain.com jedoch nicht

Ich reiße mir gleich die Haare aus!

Ich habe eine Website domain.com mit der folgenden virtuellen Hostkonfiguration/etc/nginx/sites-available/Domäne:

server {
        listen 80;
        server_name www.domain.com;
        return 301 $scheme://domain.com$request_uri;
}
server {
        listen 80;
        server_name domain.com;
        root /var/www/wordpress;
        index index.php index.html;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }
        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        location ~ /\. {
            deny all;
            access_log off;
            log_not_found off;
        }
        location ~ \.php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi-gen.conf;
        }
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
        }
}
server {
        listen 443 ssl;
        ssl_certificate /etc/ssl/localcerts/certificate.crt;
        ssl_certificate_key /etc/ssl/localcerts/privateKey.key;

        server_name domain.com;
        root /var/www/wordpress;

        index index.php index.html;

        location / {
                try_files $uri $uri/ /index.php?$args;
        }

        location = /favicon.ico {
                log_not_found off;
                access_log off;
        }
        location = /robots.txt {
                allow all;
                log_not_found off;
                access_log off;
        }
        location ~ /\. {
            deny all;
            access_log off;
            log_not_found off;
        }
        location ~ \.php$ {
                #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                include fastcgi-gen.conf;
        }
        location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                expires max;
                log_not_found off;
        }
}

es funktioniert super. Sowohl domain.com als auch die Umleitung von www zu nicht-www. Ich habe auch diese virtuelle Host-Konfiguration/etc/nginx/sites-available/owncloudfür meine Subdomäne cloud.domain.com:

server {
        listen 80;
        server_name cloud.domain.com;
        return 301 https://$server_name$request_uri; # enforce https
}
server {
        listen 443 ssl;
        ssl_certificate /etc/ssl/localcerts/certificate.crt;
        ssl_certificate_key /etc/ssl/localcerts/privateKey.key;
        server_name cloud.domain.com;

        root /var/www/owncloud;

        client_max_body_size 10G; # set max upload size

        fastcgi_buffers 64 4K;
        rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
        rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
        rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;

        index index.php index.html;

        error_page 403 = /core/templates/403.php;
        error_page 404 = /core/templates/404.php;

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }
        location ~ ^/(data|config|\.ht|db_structure\.xml|README) {
                deny all;
        }
        location / {
                # The following 2 rules are only needed with webfinger
                rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
                rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
                rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
                rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
                rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
                try_files $uri $uri/ index.php;
        }

        location ~ ^(.+?\.php)(/.*)?$ {
                try_files $1 = 404;

                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$1;
                fastcgi_param PATH_INFO $2;
                fastcgi_param HTTPS on;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
        }

        # Optional: set long EXPIRES header on static assets
        location ~* ^.+\.(jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
                expires 30d;
                # Optional: Don't log access to assets
                access_log off;
        }
}

Aber cloud.domain.com funktioniert nicht! Ich habe versucht, es anzupingen, aber es wird nicht in meine IP aufgelöst.

Das Seltsame ist auch, dass ich einen anderen VPS mit genau denselben Konfigurationen habe, der eine andere Domäne verwendet, sagen wir domain2.com. In meinem anderen VPS funktioniert alles einwandfrei. Sowohl domain2.com als auch cloud.domain2.com werden in meine VPS-IP aufgelöst.

Ich habe auch eine identische Verzeichnisstruktur.

  • Website: /var/www/wordpress
  • eigene Cloud: /var/www/owncloud

Ich verwende die Nameserver meines Domain-Name-Anbieters (in beiden Fällen).

ich habe keine Ahnung, was ich falsch mache.

Antwort1

Erstellen Sie einen CNAME für cloud.domain.com, der auf domain.com verweist. Er sollte ungefähr so ​​aussehen:

cloud.domain.com   300   IN   CNAME   domain.com

Alternativ können Sie einen Platzhalter für die Domäneneingabe verwenden:

*.domain.com   300   IN   CNAME   domain.com

Beachten Sie, dass ein PlatzhalterbeliebigAnfragen, die keine expliziten DNS-Einträge haben. Daher würde „anyrandombogusname.domain.com“ in die IP-Adresse von domain.com aufgelöst.

Antwort2

Ihre Frage listet nicht Ihre DNS-Konfiguration auf, sondern subdomain.domain.comwürde für eine ordnungsgemäße Funktion bestimmte CNAMEEinträge im Nameserver erfordern.

verwandte Informationen