# Bestimmte Domainnamen führen zum xyzdomain.de.vhost.err(or)



## MarioL (15. Juni 2015)

Hallo, 
ich habe heute ein sehr seltsames Phänomen entdeckt.
Und zwar habe ich heute eine neue Domain auf meinem Server (Nginx, ISPconfig, Installation nach Timmehosting Anleitung) anlegen wollen.

Dies ist mir nicht gelungen.
Die Domain ist zwar innerhalb von ISPCONFIG korrekt angelegt und es sind keine Probleme erkennbar, aber ich kann sie nicht aufrufen. Die entsprechenden Unterverzeichnisse wurden angelegt und ich konnte Dateien dort editieren.

Nun habe ich festgestellt, dass in /etc/nginx/sites-available die entsprechende Domain einmal als
xyzdomain.de.vhost  - 145 Bytes und als
xyzdomain.de.vhost.err - 2372 Bytes erscheint.
Alle anderen funktionierenden (!) Domains erscheinen als
xyzlfunktioniert.vhost - ~2360 Bytes.

Denn ich habe festgestellt, dass es bei ca. 7% der andreren angelegten Domains ähnliche Probleme gibt.  (ls -l | grep err)

Ich habe die xyzdomain.de dann mehrfach gelöscht & neu angelegt, und immer das selbe Problem gehabt. Dann fing ich an zu experimentieren und habe sie als xyzdoma.de angelegt, das hat wunderbar funktioniert!!! Alles ok! Dann in xyzdomai.de angelegt, hat auch funktioniert. Aber sobald die Domain wieder xyzdomain.de hiess, gab es den erwähnten .vhost.err(or).

Wenn ich hingegangen bin und die .vhost.err Variante nach .vhost kopiert habe, und Nginx restartet habe, dann kam Nginx mit einer Fehlermeldung und forderte mich auf, die nginx.conf um "server_names_hash_bucket_size 64;" zu erweitern, was ich getan habe, aber das Problem nicht löste. Erst wenn ich die xyzdomain.vhost dann wieder gelöscht habe, startete Nginx.

Das ist ein so dermassen krankes Fehlerbild, ich hab wirklich keine Ahnung, woran das liegen könnte. Auch die rund 8(?) anderen Domains die einen .vhost.err Fehler aufweisen habe ich untersucht. Die xyz.vhost Dateien sind soweit ich das beurteilen kann absolut korrekt, es ist kein Syntax-Fehler erkennbar. Vor allem die getesten xyzdomai.de.vhost (funktioniert!) und die xyzdomain.de.vhost (funktioniert nicht!) sind bis auf die Domain-Namen *absolut* identisch!!!
Ich kann auch keinen Zusammenhang in den Domainnamen erkennen. Es sind ganz normale Namen. Da steht also nirgendswo RAF oder Hitler oder sonstwas drinne, was irgendwie Anlass zu Spekulationen über einen Böse-Wörter-Filter geben könnte. 

Hat irgendjemand sowas auch schonmal erlebt, oder weiß einen Rat?
Ich steh total auf dem Schlauch!!!


----------



## nowayback (15. Juni 2015)

sind die domainnamen evtl. zu lang?


----------



## florian030 (15. Juni 2015)

255 Zeichen sollten schon reichen. 

Hast Du mal die err-files gelöscht und dann die Domain angelegt? Prinzipiell gibt es die Files, wenn die Config nicht stimmt.


----------



## nowayback (15. Juni 2015)

Zitat von florian030:


> 255 Zeichen sollten schon reichen.


Theorie und Praxis.... 
Ich hab schon, wenn ich mich recht erinnere, öfter mal etwas davon gelesen, das zu lange Domainnamen hier Fehler produzieren können. Bei Nginx ist die Defaultlänge (auch hier: wenn ich mich recht erinnere) 32 Zeichen.


----------



## JeGr (17. Juni 2015)

32 Zeichen bezieht sich hier aber eher auf den Hashwert, nicht auf den Domainnamen. Da sind nunmal 255 Zeichen erlaubt. Und wenn ich mir meine Nginx VHosts anschaue, dann stehen da mehrere Namen mit ziemlicher Länge drin, die ihm überhaupt nichts ausmachen.

Es gibt ja aber auch eine Einstellung dass für jeden Host ein Alias generiert wird für den Fall dass die Domain per DNS noch nicht verfügbar ist. Vielleicht ist hier deine Konfiguration zu ausufernd, dass hier sehr sehr lange Namen erzeug werden. Ansonsten ist ggf. nicht nur die hash_bucket_size sondern auch hash_max_size zu vergrößern, damit der Wert sauber reinpasst. Ist aber schwer zu sagen, ich habe da unter Debian Wheezy mit Nginx 1.8 überhaupt keine Schmerzen mit den Default.


----------



## MarioL (19. Juni 2015)

Sorry für die verspätete Reaktion, 
ich bin durch private Umstände nochmal abgelenkt worden...

Also die betroffenen Domains sind nicht (alle) lang und alle recht unterschiedlich.

Kleiner Auszug als Beispiel:
doityourself24.de.vhost.err
freunde-werben.de.vhost.err
iqserver.de.vhost.err
landraub.de.vhost.err
lastminute-fluege-buchen.de.vhost.err
last-minute-seiten.de.vhost.err
mychar.de.vhost.err
schule-hat-begonnen.de.vhost.err
superspace.de.vhost.err


----------



## florian030 (20. Juni 2015)

Und wie sieht eine solcher err-Datei aus?


----------



## MarioL (20. Juni 2015)

Beispiel /etc/nginx/sites-available/iqserver.de.vhost.err

Ich kann da keinen Fehler entdecken.
Und eine Domain iqserve.de (also ohne "r") würde korrekt angelegt und initialisiert, wobei die .vhost imho identisch aussähe..


```
server {
        listen *:80;


        server_name iqserver.de www.iqserver.de;

        root   /var/www/iqserver.de/web;



        index index.html index.htm index.php index.cgi index.pl index.xhtml;



        error_page 400 /error/400.html;
        error_page 401 /error/401.html;
        error_page 403 /error/403.html;
        error_page 404 /error/404.html;
        error_page 405 /error/405.html;
        error_page 500 /error/500.html;
        error_page 502 /error/502.html;
        error_page 503 /error/503.html;
        recursive_error_pages on;
        location = /error/400.html {

            internal;
        }
        location = /error/401.html {

            internal;
        }
        location = /error/403.html {

            internal;
        }
        location = /error/404.html {

            internal;
        }
        location = /error/405.html {

            internal;
        }
        location = /error/500.html {

            internal;
        }
        location = /error/502.html {

            internal;
        }
        location = /error/503.html {

            internal;
        }

        error_log /var/log/ispconfig/httpd/iqserver.de/error.log;
        access_log /var/log/ispconfig/httpd/iqserver.de/access.log combined;

        location ~ /\. {
            deny all;
            access_log off;
            log_not_found off;
        }

        location = /favicon.ico {
            log_not_found off;
            access_log off;
        }

        location = /robots.txt {
            allow all;
            log_not_found off;
            access_log off;
        }

        location /stats/ {

            index index.html index.php;
            auth_basic "Members Only";
            auth_basic_user_file /var/www/clients/client1/web81/web/stats/.htpasswd_stats;
        }

        location ^~ /awstats-icon {
            alias /usr/share/awstats/icon;
        }

        location ~ \.php$ {
            try_files /517e0421e71da6e17d54f944a93b195d.htm @php;
        }

        location @php {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/lib/php5-fpm/web81.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_intercept_errors on;
        }







}
```


----------



## MarioL (21. Juni 2015)

Und hier kurz der "Beweis"..
Einen Buchstaben weglassen und er gibt keine .err aus.. nutzt nur natürlich nix..

root@yona:/etc/nginx/sites-available# ls -l iqs*.*
-rw-r--r-- 1 root root 2352 Jun 21 04:28 iqserve.de.vhost
-rw-r--r-- 1 root root  142 Jan 22 14:18 iqserver.de.vhost
-rw-r--r-- 1 root root 2354 Jan 22 14:18 iqserver.de.vhost.err


----------



## Till (21. Juni 2015)

Eine .err datei eird erstellt wenn der apache config test fehl schlägt oder apache nach der config änderung nicht wieder startet. Es kann also auch sein dass ein fehler in deiner globalen apache konfiguration vorlag zum zeitpunkt der erstellung der .err Datei.


----------

