如何设置nginx将远程请求转发到Apache Zeppelin?
现状环境:
$ uname -a Linux rpi-edge 5.3.0-1012-raspi2#14-Ubuntu SMP星期一11月11日10:06:55 UTC 2019 aarch64 aarch64 aarch64 GNU / Linux
$ lsb_release -a 没有可用的LSB模块。 发行人ID:Ubuntu 说明:Ubuntu 19.10 发行:19.10 代号:eoan
$ free -h gesamt belegt frei gemeinsam Zwischenverfügbar Speicher:3,7Gi 1,7Gi 796Mi 34Mi 1,2Gi 1,9Gi 主持人:0B 0B 0B
〜$ nginx -v nginx版本:nginx / 1.16.1(Ubuntu)
齐柏林飞艇-> /sw/opt/zeppelin-0.8.2-bin-all /
工作原理:
使用“ localhost:8080”在本地计算机Firefox上请求Apache Zeppelin 正在打开“ Websocket Connected”为“ anonymus”的预期页面, 对我来说很好,因为它是一个测试环境。
应该起作用:
nginx服务器的IP地址为192.168.5.220。
在同一网络中的另一台机器上,192.168.5.128,我要访问Zeppelin 只需使用“ 192.168.5.220:8080”或“ 192.168.5.220/zeppelin/”即可,无需用户身份验证。
我在“站点可用”中有一个服务器文件,其中显示了齐柏林飞艇的起始页, 但是带有“ Websocket已断开连接”和“登录”按钮。
服务器文件内容:
server {
listen 80;
server_name localhost;
location /zeppelin/ {
proxy_pass http://localhost:8080/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-NginX-Proxy true;
proxy_redirect off;
auth_basic off;
}
location /zeppelin/ws/ {
proxy_pass http://localhost:8080/ws;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 86400;
auth_basic off;
}
}
对于所有websocket请求,“ access.log”均包含。 “ ... GET / zeppelin / ws HTTP / 1.1” 404 134 ...“
显然缺少某些内容。但是呢?
如果能解决这个小问题,我将不胜感激。
我只想在没有任何用户身份验证的情况下访问Zeppelin。
谢谢。