背景:想通过一个端口,来访问两个web 服务,分别为8088端口 和 3000 端口
其中 8088端口只需要输出 /superset/ 路径 其他路径分发到3000
遇到问题:/superset/路径访问css 或js 等资源时,会分发到3000端口
最终解决方法如下
server {
listen 1200;
server_name localhost 127.0.0.1;
#charset koi8-r;
#access_log logs/host.access.log main;
location /superset {
proxy_pass http://127.0.0.1:8088;
proxy_read_timeout 3000s;
root html;
index index.html index.htm;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
#目的转发端口(应用程序进程所绑定的IP及端口号)
#默认配置
proxy_redirect off;
break;
}
location /
{
if ($http_referer ~ "superset") {
proxy_pass http://127.0.0.1:8088;
#目的转发端口(应用程序进程所绑定的IP及端口号)
#默认配置
}
if ($http_referer !~ "superset") {
proxy_pass http://127.0.0.1:3000;
#目的转发端口(应用程序进程所绑定的IP及端口号)
#默认配置
}
proxy_read_timeout 3000s;
root html;
index index.html index.htm;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
#目的转发端口(应用程序进程所绑定的IP及端口号)
#默认配置
proxy_redirect off;
break;
}
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------