Skip to main content

AgentBuilder

使用 Nginx 作為反向代理、Let's Encrypt 進行 SSL 憑證,以及 Certbot 進行自動化憑證管理,在基於 Linux 的伺服器上部署 AgentBuilder。

此設定會加密使用者與您的 AgentBuilder 伺服器之間的所有通訊。SSL 憑證確保敏感資料免受竊聽和竄改,並通過 Certbot 的自動憑證管理消除了手動 SSL 配置的複雜性。

先決條件

  • 具有雙核心 CPU 和至少 2 GB RAM 的 Ubuntu 或 Debian 基於 Linux 的伺服器 此範例使用 Digital Ocean cloud 進行託管。您的部署可能有所不同。
  • 具有外部 DNS 管理存取權的網域名稱
  • 配置 DNS 記錄以將您的網域指向伺服器的外部 IP 地址 例如,如果您的伺服器 IP 是 203.0.113.1,請這樣配置您的 DNS:

    _10
    Type: A
    _10
    Name: langflow.example.com
    _10
    Value: 203.0.113.1

使用 SSH 連接到您的伺服器

  1. 建立 SSH 金鑰以遠端連接到您的伺服器。 例如:


    _10
    ssh-keygen -t ed25519 -C "DANA@EXAMPLE.COM"

    DANA@EXAMPLE.COM 替換為您想要與 SSH 金鑰關聯的電子郵件地址。

  2. 在您的終端機中,按照指示建立您的 SSH 金鑰對。 這會建立私鑰和公鑰。 要從您的終端機複製公鑰,請輸入以下命令:


    _10
    cat ~/Downloads/host-lf.pub | pbcopy

  3. 在您的伺服器中,新增您在上一步複製的 SSH 金鑰。 例如,如果您使用 Digital Ocean 雲端伺服器,請在建立伺服器時新增此 SSH 金鑰,或使用 Digital Ocean 控制面板

  4. 要使用 SSH 連接到您的伺服器,請輸入以下命令。


    _10
    ssh -i PATH_TO_PRIVATE_KEY/PRIVATE_KEY_NAME root@SERVER_IP_ADDRESS

    替換以下內容:

    • PATH_TO_PRIVATE_KEY/PRIVATE_KEY_NAME:與您新增到伺服器的公鑰匹配的私鑰 SSH 金鑰檔案的路徑
    • SERVER_IP_ADDRESS:您的伺服器 IP 地址
  5. 當提示金鑰指紋時,輸入 yes。 終端機輸出會指示連接成功或失敗。 連接到 Digital Ocean 雲端伺服器後返回以下回應。


    _10
    System information as of Wed Oct 8 21:40:43 UTC 2025
    _10
    _10
    System load: 0.02 Processes: 103
    _10
    Usage of /: 4.1% of 47.35GB Users logged in: 1
    _10
    Memory usage: 10% IPv4 address for eth0: 165.227.176.236
    _10
    Swap usage: 0% IPv4 address for eth0: 10.17.0.5

在您的伺服器上安裝 AgentBuilder

要在您的伺服器上安裝 AgentBuilder,請執行以下操作:

  1. 更新系統套件。


    _10
    sudo apt update && sudo apt upgrade -y

  2. 安裝 Python 和 pip。


    _10
    sudo apt install python3 python3-pip python3-venv -y

  3. 安裝 uv 以管理 Python 套件。 AgentBuilder 推薦使用 uv 以加快安裝速度。


    _10
    pip install uv

  4. 為 AgentBuilder 建立虛擬環境。


    _10
    uv venv langflow-venv
    _10
    source langflow-venv/bin/activate

  5. 使用 uv 安裝 AgentBuilder。


    _10
    uv pip install langflow

  6. 選擇性地啟動 AgentBuilder。


    _10
    uv run langflow run --host 127.0.0.1 --port 7860 &

    在您的 http://YOUR_PUBLIC_IP:7860 測試存取。 由於 AgentBuilder 在 localhost 上運行,您應該不會成功。 在後續步驟中,您將安裝 Nginx 作為反向代理來處理外部存取,並安裝 Certbot 來配置 SSL 以進行安全的 HTTPS 存取。

安裝 Nginx

Nginx 是一個反向代理,它接收外部請求並將它們轉發到您的 AgentBuilder 伺服器。除了 SSL 終止之外,Nginx 還包括負載平衡和安全功能。更多資訊請參閱 Nginx 文件

  1. 在您的伺服器上安裝 Nginx。


    _10
    sudo apt install nginx -y

  2. 在您的伺服器上啟動並啟用 Nginx。


    _10
    sudo systemctl start nginx
    _10
    sudo systemctl enable nginx

  3. 建立 Nginx 配置文件。 將 DOMAIN_NAME 替換為您的實際網域名稱,例如 langflow.example.com


    _10
    sudo nano /etc/nginx/sites-available/DOMAIN_NAME

  4. 將以下內容貼上到您在 /etc/nginx/sites-available/DOMAIN_NAME 建立的配置文件中。

    DOMAIN_NAME 替換為您的實際網域名稱,例如 langflow.example.com


    _29
    server {
    _29
    listen 80;
    _29
    server_name DOMAIN_NAME;
    _29
    _29
    # Increase client body size for file uploads
    _29
    client_max_body_size 100M;
    _29
    _29
    location / {
    _29
    proxy_pass http://127.0.0.1:7860/;
    _29
    proxy_set_header Host $host;
    _29
    proxy_set_header X-Real-IP $remote_addr;
    _29
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    _29
    proxy_set_header X-Forwarded-Proto $scheme;
    _29
    _29
    # WebSocket support for AgentBuilder
    _29
    proxy_http_version 1.1;
    _29
    proxy_set_header Upgrade $http_upgrade;
    _29
    proxy_set_header Connection "upgrade";
    _29
    _29
    # Timeout settings for long-running flows
    _29
    proxy_connect_timeout 60s;
    _29
    proxy_send_timeout 60s;
    _29
    proxy_read_timeout 300s;
    _29
    _29
    # Buffer settings
    _29
    proxy_buffering off;
    _29
    proxy_request_buffering off;
    _29
    }
    _29
    }

    此配置在端口 80 上監聽標準 HTTP。當您在後續步驟中安裝 Certbot 時,它會修改此配置以新增端口 443 進行 HTTPS。

  5. 要啟用您的網站配置,請在 /sites-available/sites-enabled 目錄之間建立符號連結。/sites-available 儲存所有網站配置,而 /sites-enabled 只儲存 Nginx 從中讀取的活動配置。建立此符號連結會將此配置開啟。


    _10
    sudo ln -s /etc/nginx/sites-available/DOMAIN_NAME /etc/nginx/sites-enabled/DOMAIN_NAME

  6. 檢查 Nginx 配置文件的語法。


    _10
    sudo nginx -t

  7. 重新啟動 Nginx。


    _10
    sudo systemctl restart nginx

安裝 Certbot 並取得 SSL 憑證

雖然 Nginx 處理加密和解密流量的 SSL 終止,但 Certbot 會自動從 Let's Encrypt 取得 SSL 憑證並配置 Nginx 使用它們。

Certbot 客戶端是 Let's Encrypt 推薦 用於自動化憑證管理的。更多資訊請參閱 Certbot 文件

在您的伺服器上安裝 Certbot 客戶端以管理憑證,並安裝 python3-certbot-nginx 插件 以允許 Certbot 修改您的伺服器 Nginx 配置。

  1. 安裝 Certbot 和 python3-certbot-nginx 插件。


    _10
    sudo apt install certbot python3-certbot-nginx -y

  2. 從 Let's Encrypt 取得 DOMAIN_NAME 的 SSL 憑證。


    _10
    sudo certbot --nginx -d DOMAIN_NAME

    此結果表示 Certbot 成功。


    _10
    Successfully received certificate.
    _10
    Certificate is saved at: /etc/letsencrypt/live/DOMAIN_NAME/fullchain.pem
    _10
    Key is saved at: /etc/letsencrypt/live/DOMAIN_NAME/privkey.pem

    使用 --nginx 時,Certbot 會自動將路徑作為 ssl_certificatessl_certificate_key 注入到您的 Nginx 配置中。

  3. 從虛擬環境啟動 AgentBuilder。

    a. 啟動虛擬環境。


    _10
    source langflow-venv/bin/activate

    b. 在背景啟動 AgentBuilder。


    _10
    uv run langflow run --host 127.0.0.1 --port 7860 &

  4. 要測試部署,請在您的瀏覽器中導航到 https://DOMAIN_NAME

  5. 驗證 SSL 憑證是否正常運作。確保 URL 是 https://,不是 http://。 您的瀏覽器地址欄應該顯示 鎖定 圖示。 按一下 鎖定 以查看您的 SSL 憑證詳細資訊。

另請參閱

Search