A resposta correta vem de @ sysadmin1138 e @cjc:
Configuração do Nginx
Seus hosts virt nginx serão parecidos com isto:
server {
listen 1.1.1.1:80;
server_name blog.stage.example.com;
[...]
}
server {
listen 2.2.2.2:80;
server_name blog.example.com;
[...]
}
Isso pressupõe que você pode atribuir dois endereços IP ao seu servidor web. Com a configuração acima, um servidor virtual se ligará a 1.1.1.1:80 e responderá a blog.stage.example.com, e o outro servidor será vinculado a 2.2.2.2:80 e responderá a blog.example.com. A configuração do DNS dependerá de como o DNS é gerenciado, mas deve ser possível.
DNS
Subdomínios e hospedagem são um pouco indefinidos, e você é melhor servido perguntando se eles suportam algo assim. É bem possível definir um registro A com vários rótulos nele. Por exemplo, você pode colocar isso na sua zona DNS por example.com:
blog.stage 1.1.1.2
blog 1.1.1.1
E isso pode funcionar. O Bind DNS suporta esse tipo de coisa, mas o fato de o seu provedor de hospedagem permitir ou não fazer isso é outra história inteiramente diferente.
Um plano melhor é usar algo além do blog.
betablog 1.1.1.2
blog 1.1.1.1
Uma vez que é muito mais provável que seja suportado pelo seu fornecedor.
Eu não sou familiar o suficiente com o Nginx para fornecer vários exemplos de host virtual para isso.