目標:Kibana 5.5.1後面的nginx代理1.13(dockerized)
我要運行的麋鹿在碼頭工人,集裝箱堆場。爲了能夠通過nginx代理訪問ELK棧來繞過服務的各個端口。
的Kibana服務(默認端口5601)
http://<server>.com:5601
應該在以下地址到達:
http://<server>.com/kibana
問題:
的問題是,它不是在將server.basePath設置添加到配置後,可能會到達kibana站點。如果我將Kibana的每個base api調用添加到nginx配置(/ api,/ ui,...),我只能調出服務。
配置:
爲Kibana的配置:
/opt/kibana/config/kibana.yml
具有如下條目:
server.host: "0.0.0.0"
server.basePath: "/kibana"
一切是默認
數獨server.basePath
# Enables you to specify a path to mount Kibana at if you are running behind a proxy. This only affects # the URLs generated by Kibana, your proxy is expected to remove the basePath value before forwarding requests # to Kibana. This setting cannot end in a slash.
nginx的配置:
location /kibana/ {
rewrite ^/kibana(/.*)$ $1 break;
proxy_pass http://<server>.com:5601/;
}
我使用sebp/elk:551泊塢窗圖像及以下泊塢窗,撰寫文件:
version: '2'
services:
elk:
image: sebp/elk:551
container_name: "elk"
volumes:
- /etc/kibana/config/kibana.yml:/opt/kibana/config/kibana.yml
ports:
- "5601:5601"
- "9200:9200"
- "5044:5044"
environment:
SERVICE_5601_NAME: "kibana"
SERVICE_9200_NAME: "elasticsearch"
SERVICE_5044_NAME: "logstash"
restart: always
我曾嘗試:
我已經嘗試了與Kibana 4.6.1相同的設置,並且按預期完美工作。
版本,我已經測試並不起作用:5.4.3,5.1.2,5.0.2
我不想要什麼:
我不想Kibana的每一個子目錄中添加像/api, /ui, /app/kibana, ...
添加到代理配置。
還有其他解決方案或版本嗎?
編輯1: @ whites11:瀏覽器從nginx返回502 Bad Gateway站點。 瀏覽器的相關信息:
一般
Request URL:http://<server-name>.com/kibana/
Request Method:GET
Status Code:502 Bad Gateway
Remote Address:<server-ip>:80
Referrer Policy:no-referrer-when-downgrade
響應頭
Connection:keep-alive
Content-Length:575
Content-Type:text/html
Date:Thu, 24 Aug 2017 13:54:49 GMT
Server:nginx/1.13.3
請求頭
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Host:<server-name>.com
Upgrade-Insecure-Requests:1
從nginx的
登錄34#34: *8 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: <IP>, server: , request: "GET /kibana/ HTTP/1.1", upstream: "http://<server-ip>:5601/", host: "<server-name>.com"
究竟是什麼意思「問題是,在將server.basePath設置添加到配置後無法到達kibana站點」?瀏覽器中究竟發生了什麼? – whites11
@ whites11:我在帖子中增加了更多信息。 – neutron
第一件事就是''(我猜這是混淆)正確嗎?如果進入kibana碼頭集裝箱並運行'curl :5601',它是否正確響應? –
whites11