Nginx não encaminha a porta 80 corretamente para o diretório específico

0

Ok

Eu tenho o Confluence em execução no Ubuntu 16.04. Agora tenho o JIRA rodando também no mesmo servidor. O Nginx está encaminhando a porta 8090 para a porta 80 sem problema para o Confluence, então posso ir para o domínio / confluência. Eu configurei o JIRA para funcionar dessa maneira também.

Continuo recebendo um erro 404 Not Found do Nginx.

Quando eu ligo o log de erros do Nginx, estou vendo isso:

2016/07/01 17:27:29 [error] 50688#50688: *2 open() "/usr/share/nginx/html/jira" failed (2: No such file or directory), client: xx.xx.xx.xx, server: www.xxxxxx.net, request: "GET /jira HTTP/1.1", host: "xxxxx.net"

Eu sei por que esse erro está acontecendo, mas não posso, na minha vida, descobrir onde o Nginx está obtendo o caminho que está procurando. É tecnicamente passar o tráfego corretamente para o Apache, mas anexando /jira ao final do diretório padrão, o que resulta no erro 404 não encontrado porque esse local não existe.

Onde o Nginx está lendo a localização padrão?

Eu removi tudo em meus diretórios sites-available e sites-enabled menos o necessário para configurar o encaminhamento. O Apache também não possui sites em nenhum de seus diretórios. Eu verifiquei o Nginx.conf e não vejo esse caminho lá. Eu reiniciei todos os meus serviços também.

Configuração habilitada para sites do Confluence

root@confluence:/etc/nginx/sites-enabled# cat confluence
server {

listen www.xxxx.net:80;
    server_name www.xxxx.net;
    location /confluence {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8090/confluence;
    }
}

Configuração habilitada para sites do JIRA

root@confluence:/etc/nginx/sites-enabled# cat jira
    server {
        listen www.xxxx.net:80;
        server_name www.xxxx.net;
        location /jira {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8080/jira;
        client_max_body_size 10M;
    }
}

Eu estou perdido !!

EDITAR

Parece que o Nginx está lendo isso deste arquivo:

/etc/nginx/sites-available/default

O problema aqui é que esse arquivo não existe mais. Eu parei / iniciei / recarreguei o Nginx. Ainda deseja anexar esse diretório antes do /jira .

    
por Marty Lavender 02.07.2016 / 00:32

1 resposta

0

Para resolver isso, acabei removendo o Nginx. Eu só tinha dois blocos de servidores de configuração, então não era um grande problema para restaurar tudo.

Uma vez que instalei o Nginx e configurei meus blocos de servidores, tudo estava funcionando bem.

apt-get purge nginx e apt-get install nginx

Eu posso ver como isso pode não ser a melhor coisa, mas resolveu o meu problema, no entanto.

Além disso, em vez de ter dois blocos de servidores separados, configurei um como tal:

    server {
    listen www.xxxx.net:80;
    server_name www.xxxx.net;
    location / {

    location /confluence {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8090/confluence;
        }

    location /jira {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://localhost:8080/jira;
        client_max_body_size 10M;
        }
    }
}  

Foi importante adicionar o local de base location / , pois sem isso eu não tinha permissão para definir minhas localizações como /confluence /jira . Tê-las sem o local de base resultou nesse erro:

location "/jira" is outside location

    
por Marty Lavender 02.07.2016 / 16:29