usando a seguinte configuração para o Nginx, estou percebendo que recebo um loop infinito de processamento de localização. Com base no meu entendimento dos documentos, esperaria que uma solicitação para http://localhost:8080
simplesmente retornasse meu arquivo index.html
com base na minha diretiva index
. Em vez disso, a solicitação é mapeada para location /
em um loop, anexando a / a cada vez, com base no que eu vejo no meu cabeçalho X-debug. A saída da minha mensagem de depuração é:
X-debug-one:location / /////////// /var/www/content
Como você pode ver, o $ uri continua crescendo por algumas iterações. Qual é o objetivo da diretiva de indexação se não for respeitada? Eu esperaria que o índice fosse testado em algum momento do processo?
Aqui está minha configuração. Eu devo estar perdendo algo óbvio aqui. Apenas uma nota, isso está sendo executado de dentro de um contêiner do Docker, com o mapeamento de porta para 8080.
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/;
}
}
Editar:
Aqui está a resposta do curl (curl -sSL -D - "localhost: 8080" -o / dev / null) tanto do Docker externo (localhost: 8080) quanto dentro do docker (localhost: 80)
HTTP/1.1 500 Internal Server Error
Server: nginx/1.10.3
Date: Sat, 06 Jan 2018 22:55:35 GMT
Content-Type: text/html
Content-Length: 193
Connection: close
X-debug-one: location / /////////// /var/www/content
Aqui estão os registros, capturando minha onda e acho que há uma solicitação do Chrome também.
unyozi_1 | 2018-01-06 22:57:23,869 DEBG 'nginx' stdout output:
unyozi_1 | 127.0.0.1 - - [06/Jan/2018:22:57:23 +0000] "GET / HTTP/1.1" 500 193 "-" "curl/7.52.1"
unyozi_1 |
unyozi_1 | 2018-01-06 22:57:37,722 DEBG 'nginx' stdout output:
unyozi_1 | 2018/01/06 22:57:37 [error] 11#0: *13 rewrite or internal redirection cycle while internally redirecting to "////////////", client: 127.0.0.1, server: _, request: "GET / HTTP/1.1", host: "localhost"
unyozi_1 |
unyozi_1 | 2018-01-06 22:57:37,722 DEBG 'nginx' stdout output:
unyozi_1 | 127.0.0.1 - - [06/Jan/2018:22:57:37 +0000] "GET / HTTP/1.1" 500 193 "-" "curl/7.52.1"
unyozi_1 |
unyozi_1 | 2018-01-06 22:58:43,546 DEBG 'nginx' stdout output:
unyozi_1 | 2018/01/06 22:58:43 [error] 11#0: *14 rewrite or internal redirection cycle while internally redirecting to "/sockjs-node/info///////////", client: 172.19.0.1, server: _, request: "GET /sockjs-node/info?t=1515279507454 HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/"
unyozi_1 |
unyozi_1 | 2018-01-06 22:58:43,547 DEBG 'nginx' stdout output:
unyozi_1 | 172.19.0.1 - - [06/Jan/2018:22:58:43 +0000] "GET /sockjs-node/info?t=1515279507454 HTTP/1.1" 500 595 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"
unyozi_1 |
Editar 2: /var/www/content/index.html é um arquivo que existe.