部署公开的 Langflow 服务器
默认情况下,您在 http://localhost:7860
的 Langflow 服务器不会暴露到公共互联网。
但是,您可以使用类似 ngrok 或 zrok 的转发平台来转发 Langflow 服务器流量,使您的服务器公开。
当您的 Langflow 服务器公开后,您可以执行诸如在外部部署您的 Langflow MCP 服务器、处理 API 请求和公开共享流的Playground等操作。
先决条件
在您计划托管 Langflow 安装的机器上,安装 Langflow 和一个反向代理或转发服务。
本指南使用 ngrok,但您可以使用任何类似的反向代理或转发平台。
如果您想遵循本指南,请安装 ngrok 并创建一个 ngrok authtoken。
使用 ngrok 暴露您的 Langflow 服务器
-
启动 Langflow:
_10uv run langflow run -
在另一个终端窗口中,使用您的 ngrok authtoken 来验证本地 ngrok 服务器:
_10ngrok config add-authtoken NGROK_AUTHTOKEN -
使用 ngrok 将您的 Langflow 服务器暴露到公共互联网:
_10ngrok http http://localhost:7860此示例假设您使用
http://localhost:7860
处的默认 Langflow 监听地址。如果您有不同的监听地址,则必须相应地修改此命令。ngrok 会在您的终端中启动一个会话,并部署一个没有身份验证的临时域名。 要添加身份验证或部署静态域名,请参阅 ngrok 文档。
Forwarding
行会打印您的 Langflow 服务器的转发地址:_10Forwarding https://94b1-76-64-171-14.ngrok-free.app -> http://localhost:7860转发地址充当您的 Langflow 服务器的反向代理,ngrok 将您的本地流量转发到此域名。
-
要验证您的 Langflow 服务器是否公开可用,请导航到转发地址 URL,例如
https://94b1-76-64-171-14.ngrok-free.app
。
使用公开的 Langflow 服务器
当您的 Langflow 服务器公开后,您可以执行诸如在外部部署您的 Langflow MCP 服务器、处理 API 请求和公开共享流的Playground等操作。
在外部部署您的 MCP 服务器
部署公开的 Langflow 服务器后,您还可以公开访问您的 Langflow 项目的 MCP 服务器。
为此,当您将客户端连接到 Langflow MCP 服务器时,请使用您服务器的转发地址。
处理 API 请求
要向公开的 Langflow 服务器的 Langflow API 端点发送请求,请使用您服务器的域名作为 API 请求的基础 URL。 例如:
_10curl -X POST \_10 "PUBLIC_SERVER_DOMAIN/api/v1/webhook/FLOW_ID" \_10 -H "Content-Type: application/json" \_10 -H "x-api-key: LANGFLOW_API_KEY" \_10 -d '{"data": "example-data"}'
当您在公开的 Langflow 服务器上创建流时,在API 访问面板中生成的代码片段会自动使用您公开 服务器的域名。
在脚本中进行 Langflow API 调用时,包括 Langflow 自动生成的代码片段,您也使用您的公开域名。
例如,以下代码片段调用 ngrok 域来触发指定的流(d764c4b8...
):
_29import requests_29_29url = "https://3f7c-73-64-93-151.ngrok-free.app/api/v1/run/d764c4b8-5cec-4c0f-9de0-4b419b11901a" # 此流的完整 API 端点 URL_29_29# 请求负载配置_29payload = {_29 "output_type": "chat",_29 "input_type": "chat",_29 "input_value": "Hello"_29}_29_29# 请求头_29headers = {_29 "Content-Type": "application/json",_29 "x-api-key": "LANGFLOW_API_KEY"_29}_29_29try:_29 # 发送 API 请求_29 response = requests.request("POST", url, json=payload, headers=headers)_29 response.raise_for_status() # 对于错误状态码引发异常_29_29 # 打印响应_29 print(response.text)_29_29except requests.exceptions.RequestException as e:_29 print(f"进行 API 请求时出错: {e}")_29except ValueError as e:_29 print(f"解析响应时出错: {e}")
有关脚本中 Langflow API 的演示,请参阅快速入门。
分享流程的 Playground
当你部署一个公开的 Langflow 服务器后,你可以使用 可分享的 Playground 选项,使流程的 Playground 在一个公开的 URL 上可用。 如果用户访问此 URL,他们可以与流程的聊天输入和输出进行交互,并查看结果,而无需安装 Langflow 或生成 Langflow API 密钥。
有关更多信息,请参阅 分享流程的 Playground。