As chamadas ajax do Jenkins estão usando a porta errada

As chamadas ajax do Jenkins estão usando a porta errada

Instalei o jenkins e queria mudar a porta padrão de 8080 para 443. Consegui fazer isso funcionar, mas ao ir para as configurações do Jenkins, o sistema está reclamando que o proxy reverso não está configurado corretamente, e quando dou uma olhada , vejo que Jenkins está tentando chamar urls na porta 8080 através de ajax, o que obviamente resulta em um 404

Estou usando o apache e isso está na configuração que usei.

ServerName jenkins.mydomain.com
SSLCertificateFile /etc/letsencrypt/live/jenkins.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/jenkins.mydomain.com/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf

ProxyRequests     Off
ProxyPreserveHost On
AllowEncodedSlashes NoDecode
<Proxy http://localhost:8080*>
        Order deny,allow
        Allow from all
</Proxy>
ProxyPass         /  http://localhost:8080/ nocanon
ProxyPassReverse  /  http://localhost:8080/
ProxyPassReverse  /  http://jenkins.mydomain.com
RequestHeader set X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Port "443"

Alguém tem alguma pista do que estou perdendo aqui?

Responder1

Isso normalmente acontece porque você não definiu sua URL do Jenkins na configuração global do Jenkins. O valor para "URL do Jenkins" na configuração do Jenkins deve corresponder ao URL que seus usuários inserem na barra de URL do navegador para visitar a interface da web - no exemplo que você deu, o valor seria https://jenkins.mydomain.com.

Jenkins acrescenta o valor de "URL Jenkins" a todas as chamadas AJAX. Se o URL do Jenkins não estiver definido, o padrão é algo como http://${hostname}:${port}, onde hostnameé o nome do host do sistema em que o Jenkins está sendo executado e porté a porta na qual o Jenkins está sendo executado (8080 no seu caso).

Resposta semelhante no Stack Overflow.

informação relacionada