提问人:mateo 提问时间:11/17/2023 更新时间:11/17/2023 访问量:8
如何重新路由已部署到我的 Kubernetes 集群的 Streamlit 应用程序?
How to re-route my Streamlit app that's been deployed to my Kubernetes cluster?
问:
重新路由 Kubernetes 部署的应用时出现问题
嗨,我们已经在 Kubernetes 集群上部署了一个 Streamlit 应用程序,没有问题:该应用程序使用正确的 URL 加载。现在,我们希望在工作环境之外公开此应用,为此,我们计划使用使用 IHttpHandler 类的路由器(请参阅下面的代码)。我们的问题是页面正在部分加载,但所有渲染都没有完成。
下面是我们使用的代码:
public void ProcessRequest (HttpContext context) {
HttpRequest original = context.Request;
string service = "our_url";
HttpWebResponse fwResponse = ForwardRequest(context.Request, service);
if (fwResponse.StatusCode == HttpStatusCode.OK) {
Stream stream = fwResponse.GetResponseStream();
context.Response.ContentType = fwResponse.ContentType;
stream.CopyTo(context.Response.OutputStream);
return;
}
}
public HttpWebResponse ForwardRequest(HttpRequest request, string serviceUri) {
HttpWebRequest fwRequest = (HttpWebRequest)WebRequest.Create(serviceUri);
fwRequest.ContentType = request.ContentType;
fwRequest.Method = request.HttpMethod;
fwRequest.UserAgent = request.UserAgent;
if (request.HttpMethod != "GET"
&& request.HttpMethod != "HEAD"
&& request.ContentLength > 0)
{
Stream fwStream = fwRequest.GetRequestStream();
request.InputStream.CopyTo(fwStream);
fwStream.Close();
}
return (HttpWebResponse)fwRequest.GetResponse();
}
现在的问题是,我们正确地获取了页面的基本HTML文件,但是对于完全呈现页面所需的.js和.css文件,我们得到了错误404(见下文)。
答: 暂无答案
评论