在我们当前的架构中,我们有两个apache前端服务器,在它们之前,我们有一个nginx负载均衡器 . 并且在那之前是一个nginx反向代理 .
我的问题是我试图通过反向代理运行Apache Zeppelin,我遇到了一些websockets的问题 .
我收到这样的错误: 400 HTTP method GET is not supported by this URL
以下是Chrome网络标签显示的屏幕截图:
我为Zeppelin添加了反向代理配置:
error_log /var/log/nginx/nginx_error.log warn;
server {
listen 80;
server_name localhost;
location /zeppelin/ {
proxy_pass http://zeppelin:8080/;
proxy_http_version 1.1;
proxy_set_header Upgrade websocket;
proxy_set_header Connection upgrade;
}
# fallback
location / {
return 301 http://ci.blablalablab.com/app/;
}
}
Zeppelin在docker容器内运行,我公开了8080端口,它的主机名是:zeppelin .
如果您对架构有任何疑问,请不要犹豫 .
非常感谢你们 !
2 回答
您可以添加到反向代理配置
参考:Zeppelin 0.7 auth docs
经过大量的挖掘,我最终得到了这个配置:
这工作得很好,谢谢大家的努力;)