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

  • Nginx (openrest) che genera numbers casuali
  • Rimuovere l'intestazione Content-Length in nginx proxy_pass
  • 403 È proibito quando si tenta di accedere a una cartella nella root del documento di nginx
  • Impostazione $ PATH per utente weberver
  • Strategia per generare un nuovo server EC2 quando un host virtuale ha troppe connessioni
  • riscrivere nginx in proxy_pass
  • 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.

  • ELK Stack (Logstash, Elasticsearch e Kibana) con il server syslog remoto concorrente?
  • Eventi di Logstash Groking Syslog
  • elastico ricerca con kibana mostra cruscotto vuoto
  • Erk stack "non riesce a recuperare mapping hai indici corrispondenti al pattern"
  • Fashing slash in kibana 3 query
  • "Motivi di indice: specificare un model di indice predefinito" in Kibana
  • 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.