共有三台服务器,第一台称为kibana服务器,第二台称为ng1,第三台称为ng2。 ng1反向代理给kibana,ng2反向代理给ng1。
访问ng2时出现404错误,因为我键入的网址是返回的http://ng2/kb
,但网址是返回的http://ng2/app/kibana
。
ng1的配置:
location / {
proxy_pass http://kibana_server:8009;
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
ng2的配置:
location ^~ /kb/ {
proxy_redirect off;
proxy_pass http://ng1:80/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 600;
proxy_buffer_size 256k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 256k;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_404;
}
如果我在ng2的配置中配置了proxy_pass http://ng1/app/kibana;
,这似乎没问题,但是无法加载初始化js,则js请求路径为http://ng2/boundle/app/kibana/boundle.js
。
能帮我解决这个问题吗?