Kubeflow UI https之暴露

最近接了任务,希望能把Kubeflow的GUI集成在我们的产品中。

玩了玩Kubeflow, 看了看它的UI,确实非常之简陋:

另外,这个UI以http发布的,问题来了,我们的GUI是https的,要知道在https的页面中是没有办法发出http的请求的!

Google了下,最基本的方案是在在kubeflow UI前放一个https的proxy,比如nginx.

恰好我们的产品是基于k8s的,有一个nginx ingress controller可以用,感觉没什么坑哈。

大概看了看kubeflow GUI的pod和service:ambassador(https://blog.getambassador.io/case-study-kubeflow-7e666fdcd52e)

ambassador其实也是个proxy,是基于Envoy,据说这个Envoy是要替代nginx的,很牛的。

OK, 按部就班的创建ingress,把https://ip:8443/kubeflow重定向到Service ambassador的80端口,完成后试试,居然报了个426, 426(https://httpstatuses.com/426)表示服务器拒绝浏览器使用当前协议发送的请求。懵逼了,难道是因为nginx把HTTPS请求直接重定向到了80端口,不应该啊,赶紧google。

原来这个protocol指的是HTTP的version,而罪魁祸首是nginx。具体来讲是:

那好办了,让nginx重定向时使用HTTP1.1,在nginx的router rule中加入:

        proxy_http_version 1.1;
        proxy_set_header Connection "";

成功!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值