Mapear servidor para diretiva de domínio no nginx

1

Eu queria saber se é possível mapear uma diretiva de domínio para um servidor.

No nosso caso, temos uma API que é servida por uma instância do Rails, então temos um Frontend que é servido de um servidor Node. Idealmente, gostaria que o Frontend link * e a API link *, mas isso é possível?

Eu tentei o seguinte (apenas um trecho).

  # Configuration for API.
  server {
    server_name www.domain.com/api;

    location /api {
      try_files $uri @proxy;
    }

    ....
  }

  # Configuration for the server
  server {
    server_name www.domain.com;

    location / {
      try_files $uri @proxy;
    }

    ......
  }

No entanto, isso não parece funcionar, é mesmo possível obter o desejado? Ou preciso de um deles para ser executado em um subdomínio?

    
por MartinElvar 25.04.2016 / 22:30

1 resposta

0

Essa é uma sintaxe inválida para uma diretiva server_name . Você tem dois aplicativos dentro do mesmo bloco server . Obviamente, há potencial para conflitos que você precisará resolver. Mas, para expandir seu snippet, você precisará definir dois locais nomeados, um para cada aplicativo:

server {
    server_name www.domain.com;

    location / {
        try_files $uri @proxy;
    }
    location @proxy {
        ...
    }
    location /api {
        try_files $uri @api;
    }
    location @api {
        ...
    }
} 
    
por 25.04.2016 / 23:23

Tags