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

如何为非Streamlit Cloud部署的Streamlit网站创建带预览的分享链接?

解决Streamlit自定义社交平台预览的方法

你用Apache反向代理Streamlit的情况,没法用Streamlit Cloud的配置,试试这两个办法:

方法一:通过Apache注入社交预览标签

Apache能在返回给访客的页面里加Open Graph(OG)标签,社交平台就是靠这些标签生成预览的:

  1. 先确认Apache开了mod_headers和mod_substitute模块,没开的话用sudo a2enmod headers substitute开启
  2. 打开你的域名虚拟主机配置文件(比如/etc/apache2/sites-available/example.com.conf),在反向代理的配置块里加这段:
<Location "/">
    ProxyPass "http://localhost:8501"
    ProxyPassReverse "http://localhost:8501"

    # 往页面<head>里插OG标签
    AddOutputFilterByType SUBSTITUTE text/html
    Substitute "s/<head>/<head>\n<meta property=\"og:title\" content=\"你的网站标题\">\n<meta property=\"og:description\" content=\"你的网站简短描述\">\n<meta property=\"og:image\" content=\"https://example.com/你的预览图.jpg\">\n<meta property=\"og:url\" content=\"https://example.com\">/"
</Location>
  1. 重启Apache:sudo systemctl restart apache2

记得把配置里的标题、描述、图片路径换成你自己的,预览图要放在Apache能访问的目录,或者用公网能打开的图片链接。

方法二:直接改Streamlit的页面模板

直接修改Streamlit生成的HTML模板,把OG标签加上:

  1. 找到Streamlit安装目录下的static文件夹,比如虚拟环境里的路径是venv/lib/python3.x/site-packages/streamlit/static(x换成你的Python版本)
  2. 打开index.html,在<head>标签里插入这些代码:
<meta property="og:title" content="你的网站标题">
<meta property="og:description" content="你的网站简短描述">
<meta property="og:image" content="https://example.com/你的预览图.jpg">
<meta property="og:url" content="https://example.com">
  1. 重启你的Streamlit应用和Apache

验证是否生效

改完后,用浏览器开发者工具看页面源码,确认OG标签已经在里了。如果社交平台还是显示旧预览,大概率是平台缓存了数据,等会儿再试或者用平台的调试工具刷新缓存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:50:21