У меня есть в файле * .conf для моего домена следующее:
server {
listen 80;
server_name domain.tld;
access_log /var/log/nginx/domain.tld.accesslog;
root /var/www/domain.tld;
index index.htm index.html;
}
У меня вопрос ... что, если бы я хотел, чтобы все поддомены использовали тот же корень документа (и те же настройки в целом), что и domain.tld?
Я пробовал это:
server {
listen 80;
server_name domain.tld;
server_name *.domain.tld;
access_log /var/log/nginx/domain.tld.accesslog;
root /var/www/domain.tld;
index index.htm index.html;
}
Но это не сработало даже после перезарядки. Любые идеи?
server_name domain.tld; server_name *.domain.tld;
Думаю, проблема в вышесказанном. Попробуйте вместо этого:
server_name domain.tld *.domain.tld;
Есть специальный синтаксис "сахар", чтобы справиться с этим изящно:
server {
listen 80;
server_name .domain.tld; # ← this one's sweety
access_log /var/log/nginx/domain.tld.accesslog;
root /var/www/domain.tld;
index index.htm index.html;
}
но в случае, если вы бывший программист-ассемблер, подсчитывающий циклы процессора в свободное время, вы можете обменять простоту более короткой записи на явный длинный список имен серверов (10x2 @cnst).