Solicitar ao nginx no Docker perdendo o número da porta em uma solicitação específica

1

Estou executando o Nginx dentro do Docker, com o mapeamento de porta 8080:80 . Meu conteúdo é mapeado para /var/www/content' .

Eu criei os dois arquivos a seguir nos seguintes caminhos:

/var/www/content/index.html
/var/www/content/test/index.html

Meu nginx.conf é definido como o seguinte:

server {
  server_name _;
  listen 80 default_server;

  root /var/www/content;
  index index.html;

  access_log /dev/stdout;
  error_log /dev/stdout info;

  add_header X-debug-base "base $uri $document_root" always;

  location / {
    add_header X-debug-one "location / $uri $document_root" always;
    try_files $uri $uri/ index.html;
  }
}

Consigo executar os arquivos html que eu coloquei ao acessá-lo através das seguintes solicitações:

  1. link - > roda o primeiro index.html, o navegador mostra link
  2. link - > executa o primeiro index.html, o navegador mostra link (por que a barra final é removida aqui?)
  3. link - > executa o primeiro index.html, o navegador mostra o link
  4. link - > corre test / index.html, o navegador mostra link
  5. link - > corre test / index.html, o navegador mostra link
  6. link - > FALHA. O navegador mostra o link , que causa erros devido à perda da porta correta.

Dois mistérios para mim:

1) Por que a barra final é retirada do Caso de Teste # 2 e quem é responsável por ela? Ou seja: é o Chrome ou o Nginx?

2) Mais relevante para minha pergunta, é o caso de teste 6. Por que estou perdendo o número da porta apenas nesse tipo de solicitação? Ao testar outras palavras que não correspondem a uma pasta no meu local, a solicitação é tratada conforme o esperado.

Eu procurei como rastrear a execução do nginx, mas parece muito difícil de fazer. A ideia de cabeçalho abaixo não ajuda, e o log não tem nada que seja útil também.

Como posso descobrir o culpado por reescrever minha URL?

    
por gdbj 06.01.2018 / 21:32

0 respostas

Tags