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.

  • Failover DNS con più bilancieri di carico Nginx
  • nginx non utilizza gzip per parlare con i server di backend
  • HSTS esclude un sottodominio specifico con "includeSubdomains"
  • Come disabilitare l'auth di base di http in nginx per una gamma specifica ip?
  • Configurazione di Nginx SSL a fianco di non-ssl
  • Buffer richiede nginx per un breve periodo se il backend è in discesa
  • cosa significa "bit di indirizzi non significativi"?
  • Dimensione di richiesta / risposta di logging in access_log di Nginx
  • 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.