DUVIDA SOBRE AS CONFIGUÇÕES DO NGINX.
Estou estudando sobre o proxy_pass do NGINX.
De modo geral está funcionando ok, no entando se houver um reload
... { location /keycloak/ { ...
quando ele redireciona ele pega a location /. Sabem alguma configuração que posso está pegando o location /keycloak/ "/keycloak/auth" sendo que a perte "auth" é dinâmico.
https://youtu.be/1-MXuijwUCY Explico melhor nesse vídeo sobre o problema.
Minha ideia é contruir essa configuração em meu laboratório aqui em casa.
Minha configuração no NGNIX:
upstream jenkins { server infra.local.net:8050;}
upstream socketi { server infra.local.net:6001;}
upstream docker { server infra.local.net:9000;}
upstream keycloak { server infra.local.net:8080;}
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name infra.local.net/*;
location / {
proxy_pass http://jenkins;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /jenkins/ {
rewrite ^/jenkins(.*)$ $1 break;
proxy_pass http://jenkins;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /docker/ {
rewrite ^/docker(.*)$ $1 break;
proxy_pass http://docker;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /socketi/ {
rewrite ^/socketi(.*)$ $1 break;
proxy_pass http://socketi;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /keycloak/ {
rewrite ^/keycloak(.*)$ $1 break;
proxy_pass http://keycloak;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Eu uso um esquema parecido para dar acesso ao kibana usando uma autenticação própria:
location /kibana {
proxy_pass http://kibana:5601/;
rewrite ^/kibana/(.*)$ /$1 break;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
auth_request /auth;
auth_request_set $auth_status $upstream_status;
error_page 403 = @login;
}
Acredito que limpando essa rule para retirar as coisas relacionadas com a autenticação deve funcionar.
Pois é irmão no meu caso ele aó invés de ser redirecionado para o infra.local.net/jenkins/auth e vai para o infra.local.net/auth e aí ele quebra tudo!!!
O que estou lutando aqui é arrumar uma maneira que ele permanessa */"*jenkins*"/* ```infra.local.net/jenkins/auth```
Pensa nunca coisa complicada de achar a solução, já estou a 6h procurando!!!