Eu tenho o seguinte domínio apontado para o meu nginx my.web.server
Gostaria de fazer solicitações de proxy para /cdn
para um host de arquivos localizado em file.host/myfiles
O arquivo de configuração é o seguinte:
server {
listen 80;
server_name my.web.server;
location ^~ /cdn {
proxy_pass https://file.host/myfiles;
}
}
Essa configuração faz o proxy com sucesso de todas as solicitações que chegam ao host do arquivo de destino, no entanto, não recebo redirecionamentos para index.html
caso uma / ou rota seja inserida.
Um exemplo do que eu gostaria de alcançar está aqui:
my.web.server/cdn => (proxy) file.host/myfiles/index.html
my.web.server/cdn/ => (proxy) file.host/myfiles/index.html
my.web.server/cdn/images => (proxy) file.host/myfiles/images/index.html
my.web.server/cdn/images/ => (proxy) file.host/myfiles/images/index.html
my.web.server/cdn/** => (proxy) file.host/myfiles/**/index.html
my.web.server/cdn/**/ => (proxy) file.host/myfiles/**/index.html
O ideal seria que você não visse o index.html na url e simplesmente procuraria esse caminho de arquivo, no entanto, se isso não for possível, redirecionar o usuário também seria bom.
Eu tenho tentado coisas como:
location ^~ /cdn {
proxy_pass https://file.host/myfiles;
try_files $uri $uri/ $uri/index.html;
}
O que eu espero conseguir com isso é dizer ao nginx para "proxy aqui", tentar ver se existe um arquivo e, se nada aparecer, tente encontrar um index.html
nessa rota.
Tags nginx