Como obter dados de roteamento de origem externa para o proxy reverso Nginx?
O projeto possui vários armazenamentos de arquivos externos. O código legado possui o seguinte fluxo de trabalho:
- A solicitação de arquivo chega ao controlador RoR
- RoR obtém o nome do arquivo externo do modelo (Postgres)
- O RoR pega o conteúdo do arquivo de uma fonte externa e o retorna
É um conceito muito ruim, então suponho que mude essa lógica para:
- A solicitação de arquivo chega ao nginx
- O Nginx obtém o nome do arquivo externo de algum serviço / script, que possui acesso ao banco de dados
- Arquivo de proxies Nginx de fonte externa por nome de arquivo de (2)
Então, a pergunta é como tirar o nome de arquivo armazenado no postgres do nginx? Suponho que será bom obtê-lo com solicitação http para localhost, mas como fazer isso na configuração do nginx?
Respostas:
1 para resposta № 1É um conceito ruim. Bom conceito é
- A solicitação de arquivo chega ao nginx
- nginx passa para RoR
- RoR obtém o nome do arquivo externo do modelo (Postgres)
- RoR passa nginx novo URI via
X-Accel-Redirect
- O nginx serve arquivo.
Vejo http://wiki.nginx.org/XSendfile