API接入

幣安API怎麼加IP白名單?雲伺服器與動態IP配置

幣安 API IP 白名單配置全方案:雲主機靜態IP、家用寬頻動態IP、多IP負載均衡、VPN/代理出口IP、IPv6支援情況,附查 IP 指令碼與常見誤區排查。

幣安 API 的 IP 白名單是 最關鍵的安全措施:配置後只有來自指定 IP 的請求才能使用此金鑰操作賬戶,即使金鑰洩漏盜號者也無法下單。本文覆蓋雲主機固定 IP、家用寬頻動態 IP、雙出口 IP、VPN 代理、IPv6 五種場景的完整配置方案,附查詢當前出口 IP 的指令碼和 10 個常見誤區。還沒有幣安賬戶的請到 幣安官網 完成註冊;新使用者可 免費註冊 開戶。

一、IP 白名單核心規則

規則 說明
單金鑰最多 IP 數 30 個
IP 型別 僅支援 IPv4(IPv6 暫不支援)
CIDR 網段 不支援(必須逐個 IP 填寫)
生效時間 儲存後 立即生效(不超過 30 秒)
提幣許可權 必須配合 IP 白名單(不限 IP 時提幣許可權強制關閉)
修改頻率 無限制,隨時可調整

重要沒有 IP 白名單的金鑰永遠無法開啟提幣許可權,這是幣安強制安全規則。

二、場景 1:雲伺服器(靜態 IP)

最理想的場景。在建立 API 時直接填寫雲主機的公網 IP。

1. 查詢雲主機公網 IP

# 方法一:直接問外部服務
curl -4 ifconfig.me
curl -4 ipv4.icanhazip.com
curl -4 api.ipify.org

# 方法二:阿里雲後設資料
curl http://100.100.100.200/latest/meta-data/eipv4

# 方法三:AWS 後設資料
curl http://169.254.169.254/latest/meta-data/public-ipv4

2. 在幣安配置

幣安 API 管理頁 → 編輯金鑰 → Restrict access to trusted IPs only (Recommended) → 輸入 IP 地址 → 儲存。

多個 IP 用 逗號分隔

1.2.3.4,5.6.7.8,9.10.11.12

3. 雲主機注意事項

  • 彈性 IP 被解綁後不再保留,務必在幣安 IP 白名單中同步刪除
  • 自動伸縮組 的例項公網 IP 會變動,不適合做 API 白名單,建議用 NAT 閘道器 固定出口 IP
  • CDN 反代 不適用——幣安看到的是代理商的 IP,你後端伺服器的 IP 不會直接到達

三、場景 2:家用寬頻(動態 IP)

家用寬頻 IP 可能每 24 小時變一次,有幾種應對方案:

方案 A:不限 IP(最簡單但風險高)

幣安 API 管理頁選擇 Unrestricted (Less Secure)。缺點:

  • 提幣許可權自動關閉
  • 一旦金鑰洩漏無防護

適合僅用於讀取資料的場景(只勾 Enable Reading)。

方案 B:動態更新 IP 白名單(中等方案)

幣安不提供更新白名單的 API,必須人工登入網頁改。所以完全自動化不可行。

可以做 半自動

  1. 每小時檢測當前出口 IP
  2. 與配置的白名單 IP 對比
  3. 不一致時傳送 Server 醬或 Telegram 通知
  4. 手動登入幣安更新

指令碼示例:

import requests
import time

CURRENT_WHITELIST = {"1.2.3.4"}  # 你在幣安設定的 IP
TG_BOT = "TELEGRAM_BOT_TOKEN"
TG_CHAT = "YOUR_CHAT_ID"

def get_current_ip():
    return requests.get("https://api.ipify.org").text.strip()

def notify(msg):
    requests.get(
        f"https://api.telegram.org/bot{TG_BOT}/sendMessage",
        params={"chat_id": TG_CHAT, "text": msg}
    )

last_ip = None
while True:
    ip = get_current_ip()
    if ip != last_ip:
        if ip not in CURRENT_WHITELIST:
            notify(f"IP 變更為 {ip},請登入幣安更新白名單")
        last_ip = ip
    time.sleep(3600)

方案 C:DDNS + 固定入口(推薦)

用一臺固定 IP 的雲伺服器作為 反向代理/跳板

家用電腦 → SSH 隧道 → 雲伺服器 → 幣安 API

在雲伺服器(例如阿里雲輕量 30 元/月)部署:

# 家用電腦建立 SSH 隧道
ssh -N -L 8443:api.binance.com:443 [email protected]

然後在程式碼中把 BASE_URL 改為 https://localhost:8443(需处理 TLS 證書驗證)。雲伺服器固定 IP 加入白名單 即可。

更優雅的方案是搭 WireGuard VPN,把家用電腦所有流量走 VPS 出口。

四、場景 3:多伺服器負載均衡

生產級量化策略往往部署在多個伺服器上做容災:

主策略: 阿里雲東京 A 區 (IP: 47.1.2.3)
備策略: AWS 東京 B 區 (IP: 54.4.5.6)
監控服務: 騰訊雲香港 (IP: 150.7.8.9)

在幣安填寫所有 3 個 IP,用逗號分隔:

47.1.2.3,54.4.5.6,150.7.8.9

安全加強:給每個伺服器建立 獨立金鑰 而不是共享一個。這樣萬一某臺機器被入侵,只需撤銷該 Key,其它機器照常執行。

五、場景 4:VPN / 代理出口 IP

1. 確認代理鏈的最終出口 IP

VPN / 代理會讓流量從代理出口而不是你的真實 IP 出去:

# 走代理查詢
curl -x http://proxy.example.com:8080 ifconfig.me
# 或走 VPN 後查詢
curl ifconfig.me

以代理出口 IP 為準 加入白名單。

2. 注意共享出口的風險

商業代理 的出口 IP 可能被成千上萬人共用。這類 IP:

  • 經常出現在幣安的黑名單(因為有人用它做刷單或洗錢)
  • 一旦某人觸發風控,整個出口 IP 被封,所有共用者受影響
  • 不符合幣安 KYC 合規要求,可能觸發賬號審查

商業代理不推薦用於 API 交易。自建 VPS + 專屬 IP 才是穩妥方案。

六、場景 5:Docker / Kubernetes 容器

容器的出口 IP 由 宿主機網路配置 決定:

1. 主機網路模式

# Docker Compose
services:
  bot:
    image: mybot
    network_mode: "host"  # 容器使用主機 IP

此時容器的出口 IP = 宿主機公網 IP。

2. 橋接網路 + NAT

services:
  bot:
    image: mybot
    networks:
      - default

Docker 預設透過 NAT 轉發,出口仍是宿主機公網 IP(除非宿主機有多張網絡卡分別指向不同出口)。

3. Kubernetes

透過 NAT 閘道器或 Egress Gateway 統一出口 IP。雲廠商(GKE、EKS、阿里雲 ACK)都支援 出口固定 IP 功能。

七、IP 白名單失效的常見原因

症狀 原因 解決
新 IP 不在白名單,報 -2015 IP 變了沒同步 登入幣安更新
雲主機重啟後 IP 不變但呼叫失敗 VPC 路由或防火牆阻斷 檢查出站規則
curl 正常,Python 呼叫失敗 Python 走 socks5 代理 檢查 http_proxy 環境變數
本機 curl ifconfig.me 顯示 A,但幣安報 B 多網絡卡,出口路由不同 route -n 檢查
新增後立即測試失敗 快取未重新整理 等 30 秒重試
VPN 斷線後指令碼出口變家用 IP VPN 未做 kill switch 配置 iptables 阻斷 VPN 外流量

八、雙重保險:應用層 IP 驗證

即使幣安已限制 IP,你的程式也應該 啟動時自檢

import requests

EXPECTED_IP = "1.2.3.4"

def verify_ip():
    current = requests.get("https://api.ipify.org").text.strip()
    if current != EXPECTED_IP:
        raise SystemExit(f"出口 IP 異常: {current} ≠ {EXPECTED_IP},拒絕啟動")
    print(f"IP 驗證透過: {current}")

verify_ip()
# 之後才初始化 Binance 客戶端

九、常見問題 FAQ

Q1: 一個金鑰可以設定多少個 IP?

A: 最多 30 個,透過逗號分隔填入同一個輸入框。如果你有超過 30 個伺服器,建議按伺服器組建立多個金鑰。

Q2: 中國大陸 IP 可以加入白名單嗎?

A: 可以填寫任何 IPv4 地址,幣安伺服器不會拒絕特定地區 IP 進入白名單。但大陸直連 binance.com 網路不穩定,建議用香港或新加坡 VPS 作為中轉。

Q3: IP 白名單和防火牆有什麼區別?

A: IP 白名單是 幣安端 的訪問控制(限制請求來源);防火牆是 你的伺服器端 的訪問控制(限制流量進入)。兩者互補,都應該配置

Q4: 我的 VPS 支援 IPv6,幣安不支援怎麼辦?

A: 幣安暫不支援 IPv6 白名單。解決方法:curl -4 強制走 IPv4,或在系統層禁用 IPv6:

# Linux
sysctl -w net.ipv6.conf.all.disable_ipv6=1

Q5: 白名單設定後,行情查詢也要從該 IP 嗎?

A: 是的。IP 白名單會限制所有帶 X-MBX-APIKEY 的請求,包括簽名介面和 USER_DATA 介面。公開行情(如 /ticker/price 無 Header)不受限制。

看完 IP 白名單方案,回到 分類導航 檢視「API接入」分類其它安全加固教程。

繼續瀏覽

對幣安使用還有疑問?回到分類頁查詢同主題的其它教程。

分類導航

相關教程

幣安API怎麼申請?金鑰簽名一般要怎麼生成 2026-04-14 幣安Spot API怎麼用?從零到第一單的可執行程式碼 2026-04-14 幣安Futures和Spot API有什麼區別?端點引數權重對比 2026-04-14 幣安API會被封IP嗎?限頻策略與權重計算詳解 2026-04-14