NGINX - location {} slug com domínio de raiz diferente

1

Atualmente, tenho um .conf no meu etc/nginx/sites-available com várias entradas de localização. Algumas dessas entradas de localização são configuradas como proxy reverso para portas específicas. No entanto, estou com problemas para adicionar uma entrada de local que apenas aponta para um diretório.

server {
listen 443 ssl;
server_name sub.domain.com www.sub.domain.com;
root /var/www/html;
charset utf-8;

access_log /var/log/nginx/sub.domain.com-access.log combined;
error_log /var/log/nginx/sub.domain.com.log error;

ssl_certificate /etc/letsencrypt/live/sub.domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/sub.domain.com/privkey.pem;

location /site1 {
    proxy_pass        http://127.0.0.1:7777;
    proxy_set_header  Host             $http_host;
    proxy_set_header  X-Real-IP        $remote_addr;
    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
}

location /site2 {
    proxy_pass        http://127.0.0.1:8888;
    proxy_set_header  Host             $http_host;
    proxy_set_header  X-Real-IP        $remote_addr;
    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;
}

location /site3 {
            root /opt/site3;
            index index.html;
            allow all;
}

}

Neste momento, estou com dificuldades em receber sub.domain.com/site3 para exibir o conteúdo de /opt/site3 .

Qualquer ajuda sobre como usar corretamente as entradas location {} lado a lado com o proxy reverso seria muito apreciada! Obrigado.

    
por clovisd 13.06.2018 / 20:30

1 resposta

2

A tentativa de usar root com uma sublocação significa que vai tentar $root$uri , que no seu caso se torna /opt/site3/site3 .

Você pode fazer o que você fez e usar root para que o diretório raiz seja uma pasta antes da pasta que você está tentando acessar. No entanto, você não precisa para fazer isso.

Tente usar alias /opt/site3; ; isso deve funcionar e acessar o local correto, desde que você defina o campo de índice e, se necessário, tenha um try_files nesse bloco de localização também.

    
por 14.06.2018 / 00:16