You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署在AWS EKS+Istio的Streamlit应用出现301重定向循环问题

问题描述

我通过容器化方案在AWS EKS集群部署了Streamlit应用,通过带VPC Link的API Gateway暴露,代理请求至EKS集群。

我的Streamlit配置文件(~/.streamlit/config.toml)内容如下:

toolbarMode = "auto"

[theme]
base="light"
primaryColor="#277A27"
secondaryBackgroundColor="#F8FAFA"
backgroundColor="#EAF1F2"
textColor="#11203E"
font="sans serif"

[server]
enableCORS = false
enableXsrfProtection = false
headless = true
baseUrlPath = "streamlit"

应用托管在[Redacted].api.myurl.com域名下:

  • 访问[Redacted].api.myurl.com/streamlit/healthz可正常返回200 'ok'
  • 访问[Redacted].api.myurl.com/streamlit/时陷入重定向循环,持续加载同一URL

已尝试配置browser.serverAddress等参数,均无效果。EKS集群的Gateway、VirtualService和Service配置可将流量转发至Streamlit的8501端口,健康检查正常,推测AWS组件配置无问题。


解决方案建议

1. 补充Streamlit反向代理适配配置

修改config.toml的[server]区块并新增[browser]配置,明确告知Streamlit代理后的外部访问地址与路径:

[server]
enableCORS = false
enableXsrfProtection = false
headless = true
baseUrlPath = "streamlit"
# 允许反向代理传递WebSocket流量(Streamlit依赖WebSocket实现交互)
enableWebsocket = true
# 信任反向代理传递的X-Forwarded系列头
trustXForwardedHeaders = true

[browser]
# 设置外部访问的完整域名
serverAddress = "[Redacted].api.myurl.com"
# HTTPS环境下端口设为443,HTTP则设为80
serverPort = 443
# 同步外部访问的基础路径
baseUrlPath = "streamlit"

2. 修正API Gateway路径转发规则

  • 确保API Gateway的资源路径配置为/streamlit/{proxy+},并将请求转发至EKS服务的/streamlit/{proxy}(避免末尾斜杠导致的路径不匹配)
  • 开启API Gateway的「传递所有请求头」选项,确保X-Forwarded-Proto、X-Forwarded-Host等关键头能正确传递给Streamlit

3. 调整Streamlit基础路径格式

尝试将baseUrlPath改为带开头斜杠的格式,避免内部路径拼接错误:

[server]
baseUrlPath = "/streamlit"

4. 验证Istio VirtualService路径匹配

检查VirtualService的路径重写规则,确保与API Gateway的转发逻辑一致:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: streamlit-vs
spec:
  hosts:
  - "[Redacted].api.myurl.com"
  gateways:
  - streamlit-gateway
  http:
  - match:
    - uri:
        prefix: "/streamlit/"
    route:
    - destination:
        host: streamlit-service
        port:
          number: 8501
    rewrite:
      uri: "/streamlit/"

内容的提问来源于stack exchange,提问作者Carlton Sandhu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 21:55:16