Servidor único, nginx como proxy reverso, vários domínios / sites

3

Eu tenho essa configuração nginx para o meu site em https, onde o nginx é usado como um servidor proxy reverso:

  server {
      listen 80 default_server;
      listen [::]:80 default_server;
      server_name my_domain123.com www.my_domain123.com;
      return 301 https://$server_name$request_uri;
  }

  server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name localhost www.my_domain123.com;
    return 301 https://my_domain123.com$request_uri;
  }

  server {
      listen 443 ssl default_server;
      listen [::]:443 ssl default_server;
      server_name my_domain123.com;

    location / {
      proxy_redirect      http://localhost:4000 https://my_domain123.com;
      # ...........................

    }

Como devo ajustá-lo para que eu possa hospedar vários sites com nomes de domínio diferentes no mesmo servidor ? Onde na configuração devo inserir a nova configuração para esse novo site?

Ou devo criar mais um site disponível / ativado também? Ainda, a questão permanece: como eu combinaria 2 ou mais configurações - mesmo servidor, vários domínios - corretamente?

    
por Rakori 05.12.2017 / 05:41

1 resposta

6

Normalmente você cria um novo arquivo de configuração /etc/nginx/sites-available/newserver.conf para o novo servidor e o vincula a partir de / etc / nginx / sites-enabled. Para usar nginx como proxy reverso, configure o SSL em nginx (ssl_certificate, ...) e, na seção location, use proxy_pass para o servidor não SSL em localhost. proxy_redirect também é necessário, mas isso apenas modifica o cabeçalho Location no caso de seu servidor local não SSL enviar um. Você encontra um exemplo no seguinte artigo .

Vários servidores http no host local usando portas diferentes

    server {
    server_name mydomain-01.com;

    location / {
      proxy_redirect http://localhost:8001 https://mydomain-01.com;
      ...
    }
}
server {
    server_name mydomain-02.com;

    location / {
      proxy_redirect http://localhost:8002 https://mydomain-02.com;
      ...
    }
}

Único servidor http no host local usando sites baseados no nome do host

server {
    server_name mydomain-01.com;

    location / {
      proxy_redirect http://s1.localdomain:4000 https://mydomain-01.com;
      ...
    }
}
server {
    server_name mydomain-02.com;

    location / {
      proxy_redirect http://s2.localdomain:4000 https://mydomain-02.com;
      ...
    }
}
    
por 05.12.2017 / 08:27