Graças às respostas anteriores, encontrei a solução, mas não sei exatamente "como" e "por que" funciona ...
Aqui está minha nova configuração:
server {
listen 80;
server_name my.domain.io;
return 301 https://$server_name;
}
server {
listen 443 ;
ssl on;
ssl_certificate /etc/letsencrypt/live/my.domain.io/cert.pem;
ssl_certificate_key /etc/letsencrypt/live/my.domain.io/privkey.pem;
server_name my.domain.io;
access_log /var/log/nginx/kibana.access.log;
error_log /var/log/nginx/kibana.error.log;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/conf.d/kibana.htpasswd;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location = /october {
return 302 /october/;
}
location /october/ {
proxy_pass http://10.10.0.3:5601/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
Não há necessidade da diretiva proxy_redirect
.
O truque era adicionar um /
no final do local /october
e redirecionar o código /october
para /october/
whit 302.
Não se esqueça de que você precisa definir server.basePath
para "/october"
em seu arquivo kibana.yml.
Este post me ajudou: Como remover o caminho com um proxy_pass nginx
Espero que isso ajude ...