Tentando executar o Jenkins atrás do proxy reverso SSL - 404 http: // localhost / jenkins / manage vs. https:

1

Estou tentando executar o Jenkins por trás do nginx. Jenkins é executado em um contêiner Docker, ouvindo na porta 8080 do diretório / Jenkins. Meu contêiner nginx tem esse contêiner Jenkins vinculado como hostname "jenkins", portanto, em seu contexto, o Jenkins é acessível por meio do link .

Eu segui os passos em Executando o Jenkins a partir de uma pasta com criptografia TLS e, portanto, meu site-config contém isso:

location ^~ /jenkins/ {
    sendfile off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    proxy_pass http://jenkins:8080/jenkins/;
    proxy_redirect http:// https://;
    proxy_max_temp_file_size 0;
    client_max_body_size       64m;
    client_body_buffer_size    128k;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout         90;
    proxy_buffer_size          4k;
    proxy_buffers              4 32k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;
  }

Agora estou tentando acessar o nginx do localhost, e chamar o link me apresenta Jenkins. No entanto, quando eu vou para "Gerenciar Jenkins", recebo a mensagem de que minha configuração de proxy reverso está incorreta. Eu tentei

curl -k -iL -e https://localhost/jenkins/manage \
   https://localhost/jenkins/administrativeMonitor/hudson.diagnosis.ReverseProxySetupMonitor/test

que me dá um 404 com http://localhost/jenkins/manage vs. https: .

Quando eu adiciono

    proxy_set_header   X-Forwarded-Proto  https;
    proxy_set_header   X-Forwarded-Port 443;
    proxy_set_header   X-Forwarded-Ssl on;

a mensagem muda para https://localhost/jenkins/manage vs. https:

O que estou perdendo?

    
por rabejens 15.12.2015 / 11:36

1 resposta

2

Eu tive um problema como este agora, e o que resolveu isso para mim foi descrito no link

Minha configuração NOT working usou esta linha:

proxy_pass http://127.0.0.1:8015/jenkins/;

Mas minha configuração de trabalho agora é assim:

location /jenkins/
{
  proxy_pass http://127.0.0.1:8015$request_uri;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-for $remote_addr;
  port_in_redirect off;
  proxy_redirect http://my.host/jenkins /jenkins;
  proxy_connect_timeout 300;
}
    
por 07.03.2017 / 05:11