OK, aqui está a resposta. O servidor com um server_name
vazio deve ser declarado como "padrão". Mais detalhes aqui: link
Nginx, quando Host
cabeçalho HTTP não corresponde a server
s, vai para o padrão, que é o primeiro, se não especificado de outra forma. Aqui está a configuração que funciona:
upstream beta {
server localhost:49213;
}
server {
listen 80;
server_name beta.example.com;
location / {
proxy_pass http://beta;
}
}
server {
listen 80 default_server; # pay attention!
server_name "";
return 444;
}