Kibana4 + nginx proxy inverso usando location / kibana4 / = Non trovato 404

Sto provando a configurare Kibana4 con il proxy remoto nginx, con un successo parziale finora. Ecco il mio config relativo a Kibana:

server { listen 82; server_name ${HOSTNAME}; set $kibana kibana.docker; location /kibana4/ { proxy_pass http://$kibana:5601; proxy_set_header Host $host; proxy_set_header Referer ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 16 64k; proxy_busy_buffers_size 64k; client_max_body_size 256k; client_body_buffer_size 128k; } } 

In quel caso se vado a http://localhost:82/kibana4/ Io http://localhost:82/kibana4/ Non trovato 404

Ma se sostituisco la location /kibana4/ con location / , tutto funziona bene – ovviamente i cambi di URL a http://localhost:82 in quel caso.

Ho trovato alcuni altri argomenti relativi a problemi analoghi, ad esempio:

Eseguire il programma sinatra [Kibana] dietro il proxy inverso nginx nella directory web

ma le soluzioni descritte qui non funzionano per me. Ho anche provato questo config:

 server { listen 82; server_name ${HOSTNAME}; set $kibana kibana.docker; location /kibana4 { proxy_pass http://$kibana:5601/; proxy_set_header Host $host; proxy_set_header Referer ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 16 64k; proxy_busy_buffers_size 64k; client_max_body_size 256k; client_body_buffer_size 128k; } } 

Inizia il proxy all'host kibana.docker , ma il problema è che tutti gli URL vengono riscritti alla stessa pagina di caricamento di kibana. Causa che nessun file CSS o JavaScript può essere caricato correttamente.

La mia domanda è: chiunque sa cosa può sbagliare qui? Qualcuno esegue correttamente Kibana4 da una posizione radicale diversa dal server? Vorrei apprezzare il tuo aiuto.

2 Solutions collect form web for “Kibana4 + nginx proxy inverso usando location / kibana4 / = Non trovato 404”

Grazie HD. per la tua domanda al di sotto del mio post precedente – era molto illuminante. Mi ha aiutato a capire qual è il problema. Ho sempre dimenticato che la parte di posizione è passata anche al proxy, ecco perché deve essere riscritta nel mio caso. Ecco cosa dovrebbe essere la configuration corretta:

  location ~ ^/kibana4/(.*)$ { rewrite /kibana4/(.*) /$1 break; proxy_pass http://$kibana:5601; proxy_set_header Host $host; proxy_set_header Referer ""; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_connect_timeout 150; proxy_send_timeout 100; proxy_read_timeout 100; proxy_buffers 16 64k; proxy_busy_buffers_size 64k; client_max_body_size 256k; client_body_buffer_size 128k; } 

Spiega inoltre perché la location / impostazione funziona correttamente se non esiste una parte di rewrite . Dopo aver aggiunto la rewrite , solo la parte restante viene passata al proxy e funziona come un fascino.

Grazie ancora una volta, lezione imparata 🙂

Alla fine della festa, ma ho voluto lasciare qui una soluzione soddisfacente per Apache poiché non posso trovarli. La cosa che mi ha fatto proxying da una sottodirectory per me è stato l'aggiunta di una traccia di trailing dopo la directory ProxyPass:

 ProxyPass /kibana/ http://localhost:5601/ ProxyPassReverse /kibana/ http://localhost:5601/ 

Vedere qui:

http://www.marathon-studios.com/blog/solved-kibana-5-not-loading-404ing-when-reverse-proxying-in-a-subdirectory/

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.