通过Apache对外公开Streamlit服务

除了对web服务转发外,还要转发web socket端口,否则会报错

1
2
WebSocket connection to 'wss://test.example.com/_stcore/stream' failed: 
connectToWebSocket @ main.7e6f4f72.js:2

简单配置如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<VirtualHost *:443>
ServerName test.example.com

SSLEngine On
SSLCertificateFile /ssl/fullchain.pem
SSLCertificateChainFile /ssl/fullchain.pem
SSLCertificateKeyFile /ssl/privkey.pem

ProxyPreserveHost On
ProxyRequests On
ProxyVia On

<Location />
ProxyPass http://127.0.0.1:8501/
ProxyPassReverse http://127.0.0.1:8501/
</Location>

<Location /_stcore/stream>
ProxyPass ws://127.0.0.1:8501/_stcore/stream
ProxyPassReverse ws://127.0.0.1:8501/_stcore/stream
</Location>

SSLProxyEngine On
SetOutputFilter DEFLATE
</VirtualHost>