Usando o proxy reverso NGINX para reescrever o caminho no meio de trabalho do OwnCloud Docker

1

Estou tentando ter uma instância do OwnCloud sendo executada por meio de uma imagem do docker atrás de um proxy reverso nginx https e preciso reescrever o caminho através do proxy reverso para que, em vez de ir para link para chegar ao OwnCloud, você usa link para chegar até ele.

Meu bloco de localização de proxy reverso atual é assim:

location  /cloud {
  rewrite /cloud/(.*) /$1  break;
  proxy_pass         http://localhost:8080;
  proxy_redirect     off;
  proxy_set_header   Host $host;
}

Mas isso só funciona pela metade. Quando eu navego para htts: // my-server / cloud, recebo um erro 404 OwnCloud gerado e, em seguida, se clicar em 'levar-me de volta para OwnCloud', ele me redireciona para link que resulta em um nível 404 de nginx porque o redirecionamento deve ir para o link .

Estou pensando que eu posso ser escolhido e preciso modificar as configurações do OwnCloud para que ele retorne links com o / cloud anexado, mas não tenho ideia de como fazer isso por meio de uma imagem do docker. Aprecie qualquer ajuda sobre isso.

    
por Nuvious 13.05.2018 / 20:36

1 resposta

1

Eu provavelmente faria algo assim:

location  /cloud/ {
  proxy_pass         http://localhost:8080/;
}

Observe a barra ao final / no final das diretivas location e proxy_pass [1]. Isso é semelhante a como o rsync funciona, como em, se a barra final existir, ele substituirá tudo depois. No seu caso: http://proxy/cloud solicitará ao upstream http://upstream:8080/ e qualquer subdiretório que o OwnCloud esteja usando, como por exemplo, seria solicitado como: http://proxy/cloud/example e solicitado como http://upstream:8080/example

Você não deve precisar de reescrever se estiver pegando o diretório / cloud antes de fazer proxy para o upstream.

E remova as outras configurações, pois elas não são necessárias para o que você deseja, a menos que você esteja usando o cabeçalho para algo, não acho que o redirecionamento esteja fazendo diferença no seu caso.

[1] Fonte: link

    
por 13.05.2018 / 21:54