一、背景
生产环境只开放了Nginx的访问,并且限制了端口数量,为了避免端口浪费,通常将一些服务代理到子路径里去,本篇就以kibana为例记录一下,对于zentao之类的服务,kibana还稍微有些区别。
二、配置Kibana
打开/etc/kibana/kibana.yml
,编辑如下信息:
# Kibana is served by a back end server. This setting specifies the port to use. server.port: 5601 server.basePath: "/kibana"
端口随意,主要是配置bashPath
三、配置Nginx
location /kibana/ { proxy_pass http://10.10.10.11:5601/; proxy_redirect off; proxy_set_header Host $host:9091; # proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; rewrite ^/kibana/(.*)$ /$1 break; }
注意,被代理的地址不要填写basePath,为了避免打开后提示重定向次数过多或者是404,还需要重写一样地址,也就是最后一行。
已经设置了server.basePath: "/kibana", 反向代理那里还需要移除/kibana 吗?
是的,反向代理的时候 不要将kibana带上。proxy_pass http://xxx.xx.xx.xx:5601/;