Staram się, aby nginx akceptował strony internetowe w tym formacie: dev. *. Domain.com. Przeczytałem dokumenty i rozumiem, że muszę do tego użyć wyrażenia regularnego.
Nazwa symbolu wieloznacznego może zawierać gwiazdkę tylko na początku lub na końcu nazwy i tylko na granicy kropki. Nazwy „www. .example.org ”i„ w .example.org ”są nieprawidłowe. Jednak nazwy te można określić za pomocą wyrażeń regularnych, na przykład „~ ^ www .. +. Example.org $” i „~ ^ w. .example.org $ ”. Gwiazdka może pasować do kilku części nazwy. Nazwa „ .example.org” pasuje nie tylko do www.example.org, ale także www.sub.example.org.
Więc mam:
server {
listen 80;
server_name ~^dev\..+\.domain\.com\.br$ dev.domain.com.br;
access_log /var/log/nginx/dev.domain.com.br.access.log;
error_log /var/log/nginx/dev.domain.com.br.error.log;
location / {
proxy_pass http://127.0.0.1:68319/;
include /etc/nginx/proxy.conf;
}
location /media/ {
alias /my/folder/to/media/;
expires 15d;
}
location /favicon.ico {
alias /my/folder/to/favicon.ico;
expires 15d;
}
}
Jakoś kończy się złapanie przez tę regułę (która jest ostatnia):
server {
listen 80;
server_name *.domain.com.br domain.com.br;
access_log /var/log/nginx/domain.com.br.access.log;
error_log /var/log/nginx/domain.com.br.error.log;
location / {
proxy_pass http://127.0.0.1:8080/;
include /etc/nginx/proxy.conf;
}
location /media/ {
alias /my/path/to/media/;
expires 15d;
}
location /favicon.ico {
alias /my/path/to/favicon.ico;
expires 15d;
}
}
Jakieś pomysły? Z góry bardzo dziękuję.
PS: Myślę, że jest łapany przez * .domain.com ze względu na kolejność testów nginx na mecze. Czy w każdym razie mogę przepisać * .domain.com, aby przetestować tylko 1 poziom subdomeny? tzn. test.domain.com pasuje do * .domain.com, ale sub.test.domain.com nie.