前言
前面寫過一篇nginx代理kibana的配置,沒有寫路徑代理,由於很多時候不可能直接一個域名或IP就只代理這一個站點,需要進行URI的代理配置,比如代理后這樣訪問
www.test.com/kibana
。這里只是示例nginx和kibana的配置,更多細節可以參考之前那篇文章。
配置kibana
編輯kibana的配置文件,對server.basePath
進行定義,配置路徑。
# cat /etc/kibana/kibana.yml
# Default Kibana configuration for docker target
server.name: kibana
server.host: "0"
server.basePath: "/elk"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
# systemctl restart kibana
# netstat -nltp |grep 5601
tcp 0 0 127.0.0.1:5601 0.0.0.0:* LISTEN 72068/node
配置nginx
編寫一個代理配置文件
# cat /etc/nginx/conf.d/proxy_kibana.conf
server {
listen 80;
server_name 172.24.115.4;
location /elk/ {
proxy_pass http://172.24.115.45:5601;
rewrite ^/elk/(.*)$ /$1 break;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
}
}
訪問測試
最終訪問http://172.24.115.4/elk
便可以訪問到代理的kibana,這里由於配置了別的IP轉發至該IP,故不貼圖了。