在nginx + docker上部署streamlit时出错

ajsxfq5m  于 2023-10-16  发布在  Docker
关注(0)|答案(1)|浏览(194)

我使用streamlit开发了一个简单的多页面网站,它可以与各种容器化后端进行通信,我试图将其部署在nginx上。
如果我将容器端口链接到localhost,则网站可以完美工作,但如果我尝试对其进行depoly,则页面加载时只会显示“请等待”,然后我会得到this error
我对所有这些都相当陌生,但我认为错误一定是在我的nginx配置文件中,所以我将把它留在这里。

upstream webapp{
    server webapp:8501;
}

server {
    listen 80;

    location / {
        proxy_pass http://webapp/;
    }
    location ^~ /static {
        proxy_pass http://webapp/static;
    }
    location _stcore/health {
        proxy_pass http://webapp/healthz;
    }
    location ^~ /vendor {
        proxy_pass http://webapp/vendor;
    }

    # location /stream {          # for old streamlit versions
    location ^~ _stcore/stream {   # new versions
        proxy_pass http://webapp/_stcore/stream;
        proxy_http_version 1.1; 
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
}

    

}

如果有人能在这件事上帮助我,我将非常感激
我尝试过的是:

  • 我已经阅读了关于它的各种问题,所以我在.toml文件中设置了streamlit enableCORS = false,enableXsrfProtection=false和headless = true。
  • 由于旧的streamlit版本没有这个问题,我试图降级,但我建立的网站需要streamlit 1.20或更高版本
  • 对.conf位置进行了各种更改,但都不起作用
jei2mxaa

jei2mxaa1#

显然版主不喜欢我的其他答案,并删除了它,对于未来的人谁可能有同样的问题,我会离开我找到的其他解决方案

upstream webapp{
    server webapp:8501;
  }

server {
listen 80;

location / {
            proxy_pass http://webapp/;
            proxy_set_header        Host $host;
            proxy_set_header        X-Real-IP $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header        X-Forwarded-Proto $scheme;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
}

    location /_stcore/stream {
            proxy_pass http://webapp/_stcore/stream;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_read_timeout 86400;
    }

}

相关问题