使用nginx作为反向代理运行Apache Zeppelin

前端之家收集整理的这篇文章主要介绍了使用nginx作为反向代理运行Apache Zeppelin 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在我们当前的体系结构中,我们有两个apache前端服务器,在它们前面,我们有一个Nginx负载均衡器.在此之前,还有一个Nginx反向代理.

我的问题是我正在尝试通过反向代理运行Apache Zeppelin,并且websockets出现了一些问题.

我收到这样的错误:该URL不支持400 HTTP方法GET

这是Chrome的“网络”标签显示的屏幕截图:

enter image description here

我为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.

如果您对体系结构有任何疑问,请随时提出.

非常感谢你们 !

最佳答案
您可以添加到反向代理配置

location /ws {  # For websocket support
    proxy_pass http://zeppelin:8080/ws;
    proxy_http_version 1.1;
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    proxy_read_timeout 86400;
}

参考:Zeppelin 0.7 auth docs

猜你在找的Nginx相关文章