第一部分 OPENSSL生成密钥和证书
客户端电脑使用浏览器访问Streamlit的时候,有时候浏览器会阻止来自局域网的“不安全”连接,导致其他电脑无法访问运行Streamlit的主机。由于Streamlit默认只监听本地回环地址127.0.0.1,可以将server.address修改为0.0.0.0,监听所有地址。可尝试采用以下解决方案:
Sreamlit run your_app.py --server.address=0.0.0.0 --server.port=8501
如果局域网上的其他电脑还是无法访问,可以通过openssl配置HTTPS来消除安全警告。具体步骤如下(关于OpenSSL的安装和应用,请参阅相关文档。也可以使用git自带的OpenSSL):
第1步、生成私钥和证书签名请求(CSR)
openssl req -newkey rsa:2024 -node -keyout private.key -out cert.csr
运行此命令时,系统会提示你输入一些信息。需要注意的是通用名(Common Name)必须与你访问的域名或IP地址匹配。如果电脑使用DHCP动态获取IP地址,在IP地址改变以后,需要重新生成证书。
第2步、生成自签名证书
openssl x509 -req -days 365 -in cert.csr -signkey private.key -out certchain.pem
生成的证书,后缀使用pem和cer都可以,pem为通用名称,windows下更倾向于cer后缀。
第3步、配置Streamlit
在.streamlit/config.toml文件(如果streamlit目录下没有config.toml文件,请手工创建)中添加:
[server]
sslCertFile = '/path/to/certchain.pem'
sslKeyFile = '/path/to/private.key'
第4步、重启Streamlit应用
S

最低0.47元/天 解锁文章
1089

被折叠的 条评论
为什么被折叠?



