Trino、Kudu 自监控页面配置Nginx Path访问
Trino 的WebUI 默认是 {domain/ip}:8080
Kudu 的WebUI 默认是 {domain/ip}:8051/8050
现在期望通过  {domain/ip}:80/trino、 {domain/ip}:80/kudu  来访问
在客户环境中并不能把这些端口都开放出来,那么就需要通过Nginx 配置 path 才能访问,直接设置 proxy_pass 并不能展现出来,kudu 的因为html中都是绝对路径,Trino中是由于cookie设置是固定的
也许可以通过 kudu或者trino本身的配置实现 path 访问,但是没找到,所以想了其他办法
trino Nginx配置
trino的需要把默认 /ui 访问,替换成功 /trino/ui访问,另外在登录时,会设置Path=/ui的cookie,需要修改在 Path=/trino/ui才能正常登录访问
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | location /trino/ {add_header Cache-Control no-store;
 proxy_pass http://trino-node-01:9080/;
 proxy_set_header Accept-Encoding "";
 sub_filter_once off;
 sub_filter_types *;
 sub_filter   '/ui' '/trino/ui';
 proxy_cookie_path /ui '/trino/ui';
 }
 
 | 
kudu Nginx 配置
kudu 的主要是替换Html中的绝对路径,包括静态资源(图片、css、js等) 和 菜单路径。
kudu master 和 tserver 每一台都是单独的,可以考虑全部配置
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 
 | location /kudu-ts/ {proxy_pass http://trino-node-01:8050/;
 proxy_set_header Accept-Encoding "";
 sub_filter_once off;
 sub_filter_types *;
 sub_filter   "/logo.png" "/kudu-ts/logo.png";
 sub_filter   "/favicon.ico" "/kudu-ts/favicon.ico";
 sub_filter   '/bootstrap/' '/kudu-ts/bootstrap/';
 sub_filter   '/jquery' '/kudu-ts/jquery';
 sub_filter   '/kudu.js' '/kudu-ts/kudu.js';
 sub_filter   '/kudu.css' '/kudu-ts/kudu.css';
 sub_filter   'href="/' 'href="/kudu-ts/';
 }
 location /kudu-ms/ {
 proxy_pass http://trino-node-01:8051/;
 proxy_set_header Accept-Encoding "";
 sub_filter_once off;
 sub_filter_types *;
 sub_filter   "/logo.png" "/kudu-ms/logo.png";
 sub_filter   "/favicon.ico" "/kudu-ms/favicon.ico";
 sub_filter   '/bootstrap/' '/kudu-ms/bootstrap/';
 sub_filter   '/jquery' '/kudu-ms/jquery';
 sub_filter   '/kudu.js' '/kudu-ms/kudu.js';
 sub_filter   '/kudu.css' '/kudu-ms/kudu.css';
 sub_filter   'href="/' 'href="/kudu-ms/';
 }
 
 |