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).