2017-09-15 23 views
0

enter image description here你好,我有一個nginx.conf的問題。如何使用Nginx重定向我的Kibana和Jupyter羣集

在/我把一個index.html兩個按鈕,將我重定向到Jupyter或Kibana羣集用戶界面。

然後我在兩個不同的url上重定向我的jupyter和kibana集羣。

但我實際上對nginx來說是全新的,在Jupyter的情況下,我的頁面根本無法加載。當他想要獲得Jupyter的靜態css/js開源文件時,它給了我404個代碼。

如果我把jupyter redireciton直接放在位置上,那麼這個工作就完美了。而同爲Kibana,但我需要他們兩個人一個nginx.conf

server { 
     listen     80; 
     server_name    mydomain.name.com; ## Replace with your domain name 
     return     301 https://$server_name; 
} 

server { 
     listen     443 ; 
     ssl      on; 
     server_name    mydomain.name.com; ## Replace with your domain name 
     ssl_certificate   /etc/nginx/ssl/nginx.crt; ## Replace with your own certificate 
     ssl_certificate_key  /etc/nginx/ssl/nginx.key; 
     access_log    /var/log/nginx/kibana.access.log; 
     error_log    /var/log/nginx/kibana.error.log; 

location/{ 
     root /usr/share/nginx/html; 
     index index.html; 
     include  fastcgi_params; 
     include /etc/nginx/mime.types; 

    } 
     location /jupyter { 
      proxy_pass https://10.33.1.164:8888; 
      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header Host $host; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     } 
    location ~ ^/jupyter/(api/kernels/[^/]+/(channels|iopub|shell|stdin)|terminals/websocket)/? { 
      proxy_pass https://10.33.1.164:8888; 

      proxy_set_header X-Real-IP $remote_addr; 
      proxy_set_header Host $host; 
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
      # WebSocket support 
      proxy_http_version 1.1; 
      proxy_set_header Upgrade $http_upgrade; 
#   proxy_set_header Connection $connection_upgrade; 

     } 

    location /kibana { 
       proxy_pass    http://10.33.1.145:5601/; 
       proxy_http_version 1.1; 
       proxy_set_header  Upgrade $http_upgrade; 
       proxy_set_header  Connection 'upgrade'; 
       proxy_set_header  Host $host; 
       proxy_cache_bypass $http_upgrade; 
     } 
} 

回答

0

對於這個工作,你需要配置Jupyter和Kibana期望他們在base_url

對於Jupter你運行需要將NotebookApp.base_url設置爲/jupyter。詳情請參閱以下

https://jupyter-notebook.readthedocs.io/en/latest/config.html

對於Kibana你需要設置basePath在配置/opt/kibana/config/kibana.yml

server.basePath: "/kibana" 

那麼它應該工作。同時一定要更改代理通行證Kibana到

proxy_pass    http://10.33.1.145:5601; 

尾隨/改變URL處理

+0

server.basePath:「/ kibana」當我這樣做,我kibana甚至沒有啓動anynmore。我的kibana在另一個比我的nginx更改主機和端口字段嗎?因爲我嘗試過,它不會給任何東西 – tricky

+0

首先嚐試讓kibana在自己的IP上工作:port/kibana。你使用的是哪種版本的Kibana? –

+0

什麼是奇怪的是,只有一個IP工作:server.ip:0.0.0.0和我使用Kibana 5.1 – tricky