nginx: 'localização' como um alias para 'servidor'?

1

Eu tenho o nginx configurado com vários servidores em / etc / nginx / sites-enabled

No entanto, eu quero converter minha configuração para um domínio myserver.com , então digitando em um navegador

lalala.com

não me levará mais à subpasta / usr / share / webapps / lalala .

Portanto, quero criar algum tipo de ligação (se possível) para que, se eu digitar

myserver.com/lalala

ele me redirecionará para / usr / share / webapps enquanto aplica toda a configuração de / etc / nginx / sites-enabled / lalala

Aqui estão meus arquivos conf:

nginx.conf

exemplo de servidor um - ownCloud

    
por lockheed 09.11.2014 / 18:07

1 resposta

0

Comece por eliminar a sub-rotina include /etc/nginx/sites-enabled/*; do seu ficheiro nginx.conf , uma vez que isso desencadeia o comportamento agora indesejado de incluir /etc/nginx/sites-available/ content a http level.

Agora você pode usar alguns locais, como:

server {
    root /usr/chare/webapps; # Or even move it to the upper level 'http'?

    location /lalala {
        include /etc/nginx/sites-available/lalala.conf
    }
}

Você poderia então usar locais regex para automatizar a análise da string de localização para pegar o arquivo correspondente (existente?) no diretório include.

Preste atenção a algo muito importante: tradicionalmente, o conteúdo dos diretórios /etc/nginx/sites-available/ -like é server blocks, tornando a configuração do nginx granular. Certifique-se de que seu conteúdo seja adequado à inclusão em um bloco location (tentar incluir server em location obviamente não funcionará).

Preste também atenção ao escopo das diretivas que você inclui lá, pois nem todas elas podem ser usadas dentro de location .

    
por 17.11.2014 / 11:47

Tags