[DNS] CNAME von Domain auf Subdomain (eines anderes Servers) verweisen

HanZ

Aktiver NGBler
Registriert
16 Juli 2013
Beiträge
997
Hallo

ich habe hier privat eine Synology mit einer Domain (DynDNS: selfhost); nehmen wir mal beispielhaft sub.syno.de. Dort habe ich nun eine kleine statische Webseite erstellt. Ein Kumpel hatte noch eine komplette Domain bei Cloudflare frei, daher kam der Gedanke, hier eine URL zu bestellen und auf meine Subdomain zeigen zu lassen, damit die URL schöner ist; beispielhaft schoen.de

Wir würden also gerne einen CNAME für schoen.de setzen, der immer auf sub.syno.de zeigt; das Problem ist allerdings, dass es immer auf syno.de zeigt, die Subdomain wird also ignoriert.
schoen.de -> sub.syno.de

Wo liegt hier das Problem? Verstehe ich das Konzept von einem CNAME falsch? Macht meine Syno was falsch?

LG
HanZ
 
Probier einfach mal als, ob Dein DynDNS-Anbieter Subdomains unterstützt. Meiner will Geld dafür.

CNames auf Subdomains geht rein technisch. Hab ich in der Arbeit schon umgesetzt.
 
  • Thread Starter Thread Starter
  • #3
Subdomains funktionieren. Die sub.syno.de geht ja auch ohne Probleme. Sind aber Wildcard-Subs, die dann meine Synology selbst managed. Die Subdomain ist in der Syno selbst also als vHost erstellt. Könnte es daran liegen?
 
Die Unterscheidung der (Sub-)Domains erfolgt in der Webserverkonfiguration. In der jeweiligen V-Host-Section matchst du gegen den Namen. Bei Apache machst du das über:

Code:
Expand Collapse Copy
<VirtualHost *:80>
    ServerName sub
    ServerAlias sub.domain.de

Wie's bei NGinx geht, müsste ich erst nachsehen.
 
  • Thread Starter Thread Starter
  • #5
Habe ich mal gemacht, aktuell sieht es so aus. Dennoch ohne Erfolg:

Code:
Expand Collapse Copy
<VirtualHost *:80 *:443>
    ServerName sub
    ServerAlias sub.syno.de
    SetEnv HOST sub.syno.de
    DocumentRoot "/volume1/web/abc"
    <IfModule dir_module>
        DirectoryIndex  index.html index.htm index.cgi index.php index.php5
    </IfModule>
    <Directory "/volume1/web/abc">
        Options MultiViews FollowSymLinks ExecCGI
        AllowOverride All
        <IfModule authz_core_module>
            Require all granted
        </IfModule>
    </Directory>

    <FilesMatch "\.(php[345]?|phtml)$">
        SetHandler "proxy:unix:/run/php-fpm/php-e00f35b3-55dc-4fd6-bc1f-53f4b0425bf3.sock|fcgi://localhost"

    </FilesMatch>
</VirtualHost>
 
Danke für das Codesnippet, jetzt verstehe ich dein Problem erst.
CNAME funktioniert auf DNS-Ebene, d.h. wenn der Browser nach [kw]schoen.de[/kw] fragt bekommt er (am Ende) die IP von [kw]sub.syno.de[/kw] zurück. Der Browser wird die Adresse aber weiterhin als [kw]schoen.de[/kw] ansteuern und auch [kw]Host: schoen.de[/kw] mitsenden.
Das heißt dein Server müsste auch auf diese Domain reagieren. Aktuell bekommt er wohl [kw]schoen.de[/kw], kennt aber nur den Alias [kw]sub.syno.de[/kw] und liefert deshalb sein "default" aus, was dann wohl [kw]syno.de[/kw] sein wird.

oder kurz: probier mal [kw]ServerAlias schoen.de[/kw] in der Apache-Config.
 
  • Thread Starter Thread Starter
  • #7
Perfekt, daran lag es! Ich habe jetzt [kw]ServerName sub[/kw] so gelassen, oder sollte das lieber [kw]sub.syno.de[/kw] heißen?
 
Üblicherweise ist [kw]ServerName[/kw] die primäre Domain des VirtualHost, während [kw]ServerAlias[/kw] alternative Namen sind. Sauber wär wohl in deinem Fall:
[src=apache]ServerName schoen.de
ServerAlias sub.syno.de
SetEnv HOST schoen.de
[/src]
Dann sollte der Benutzer im Optimalfall sub.syno.de nie zu Gesicht bekommen.
Auch wenn ich mir bei dem SetEnv noch nicht sicher bin was du damit erreichen willst.
 
  • Thread Starter Thread Starter
  • #9
Das SetEnv HOST hat meine Syno automatisch gesetzt bei Erstellen des vHost über die GUI. Kann ich dir also auch nicht sagen :D
 
Zurück
Oben