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_certificate 和 ssl_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