最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Nginx為OpenClaw反向代理的實(shí)現(xiàn)

 更新時(shí)間:2026年04月10日 09:14:16   作者:positiveFunction2  
本文詳細(xì)介紹了如何通過(guò)Nginx反向代理配置OpenClaw網(wǎng)關(guān)的無(wú)域名HTTPS訪問(wèn)方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、前提與約束

  • 無(wú)域名:僅通過(guò) https://<服務(wù)器IP> 訪問(wèn),需使用自簽名證書(瀏覽器會(huì)提示不安全,需手動(dòng)信任或繼續(xù)訪問(wèn))。
  • OpenClaw 要求:遠(yuǎn)程訪問(wèn)必須使用 wss://,不能使用明文 ws://;網(wǎng)關(guān)需保持 bind: "loopback",僅由 Nginx 代理訪問(wèn)。
  • 認(rèn)證:在 OpenClaw 網(wǎng)關(guān)側(cè)啟用 token認(rèn)證(也可選用 password,見后文)。

二、OpenClaw 網(wǎng)關(guān)配置(密碼認(rèn)證)

在配置 Nginx 之前,先讓 OpenClaw 使用密碼認(rèn)證,并允許來(lái)自 Nginx 的 Origin(即 https://<你的IP>)。

2.1 編輯~/.openclaw/openclaw.json

gateway 段中設(shè)置:

"gateway": {
  "port": 18789,
  "mode": "local",
  "bind": "loopback",
  "controlUi": {
    "allowedOrigins": [
      "http://127.0.0.1:18789",
      "http://localhost:18789",
      "https://YOUR_SERVER_IP"
    ]
  },
  "auth": {
    "mode": "token",
    "password": "你的訪問(wèn)令牌"
  },
  "trustedProxies": ["127.0.0.1"]
}

說(shuō)明

  • YOUR_SERVER_IP 替換為服務(wù)器公網(wǎng) IP(例如 x.x.x.x)。若通過(guò) https://IP:443 訪問(wèn),Origin 一般為 https://YOUR_SERVER_IP,無(wú)需寫端口。
  • trustedProxies 為可選。當(dāng) Nginx 與網(wǎng)關(guān)同機(jī)部署時(shí),填 ["127.0.0.1"] 可讓網(wǎng)關(guān)信任來(lái)自本機(jī)(Nginx)的代理頭,消除日志中的 "Proxy headers detected from untrusted address" 警告。
  • auth.mode: "password" 表示使用密碼認(rèn)證;客戶端需在請(qǐng)求中攜帶 Authorization: Bearer <密碼> 或通過(guò) URL 參數(shù)傳遞(見下文訪問(wèn)方式)。

2.2 重啟網(wǎng)關(guān)

systemctl --user restart openclaw-gateway.service
# 或
openclaw gateway start

三、安裝 Nginx

1. Alibaba Cloud Linux 3 / CentOS 8 / RHEL 8

# 1. 更新系統(tǒng)包
sudo dnf update -y# 
2. 添加 Nginx 官方穩(wěn)定源
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/rhel/8/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF
# 3. 安裝
 Nginxsudo dnf install -y nginx
# 4. 驗(yàn)證安裝
nginx -v

2. CentOS 7 / Alibaba Cloud Linux 2

# 1. 更新系統(tǒng)包
sudo yum update -y
# 2. 添加 Nginx 官方穩(wěn)定源
sudo tee /etc/yum.repos.d/nginx.repo <<-'EOF'
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
EOF
# 3. 安裝 
Nginxsudo yum install -y nginx
# 4. 驗(yàn)證安裝
nginx -v

3. Ubuntu / Debian

# 1. 更新系統(tǒng)包
sudo apt update && sudo apt upgrade -y
# 2. 安裝
 Nginxsudo apt install -y nginx
# 3. 驗(yàn)證安裝
nginx -v

四、生成自簽名證書(僅 IP、無(wú)域名)

無(wú)域名時(shí)無(wú)法使用 Let's Encrypt,需自簽名證書。將 YOUR_SERVER_IP 換成實(shí)際 IP(如 x.x.x.x):

sudo mkdir -p /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/nginx/ssl/openclaw.key \
  -out /etc/nginx/ssl/openclaw.crt \
  -subj "/CN=OpenClaw" \
  -addext "subjectAltName=IP:YOUR_SERVER_IP"

注意:若使用公網(wǎng) IP,請(qǐng)?zhí)罟W(wǎng) IP;若僅內(nèi)網(wǎng)訪問(wèn),填內(nèi)網(wǎng) IP。瀏覽器訪問(wèn)會(huì)提示"連接不是私密連接",需手動(dòng)接受或繼續(xù)訪問(wèn)方可使用。

五、Nginx 反向代理配置

5.1 創(chuàng)建站點(diǎn)配置

找到Nginx配置目錄,我的系統(tǒng)是 Alibaba Cloud Linux 3,Nginx 配置目錄是

/etc/nginx/conf.d/

創(chuàng)建配置文件

vim /etc/nginx/conf.d/openclaw.conf

寫入以下內(nèi)容(將 YOUR_SERVER_IP 替換為實(shí)際 IP):

# OpenClaw 反向代理(僅 IP、無(wú)域名,HTTPS + WSS)
# 上游:OpenClaw 網(wǎng)關(guān)默認(rèn)端口 18789,僅監(jiān)聽本機(jī)
upstream openclaw_backend {
    server 127.0.0.1:18789;
    keepalive 64;
}
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    # 無(wú)域名時(shí)用 IP 或 default_server
    server_name YOUR_SERVER_IP;
    ssl_certificate     /etc/nginx/ssl/openclaw.crt;
    ssl_certificate_key /etc/nginx/ssl/openclaw.key;
    ssl_protocols       TLSv1.2 TLSv1.3;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    # 日志(可選)
    access_log /var/log/nginx/openclaw_access.log;
    error_log  /var/log/nginx/openclaw_error.log;
    location / {
        proxy_pass http://openclaw_backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;
    }
}

要點(diǎn)

  • UpgradeConnection "upgrade" 用于 WebSocket 升級(jí),否則 Control UI 與 wss 無(wú)法正常工作。
  • proxy_read_timeout / proxy_send_timeout 拉長(zhǎng),避免長(zhǎng)連接被 Nginx 斷開。

5.2 啟用站點(diǎn)并檢查配置

nginx -t   # 測(cè)試配置是否正確
systemctl restart nginx  # 重啟生效

六、防火墻與安全組

  • 放行 443(HTTPS)。
  • 若希望 HTTP 自動(dòng)跳轉(zhuǎn) HTTPS,可加 80 并做 redirect(見下節(jié))。
  • 不要對(duì)公網(wǎng)開放 18789,網(wǎng)關(guān)僅對(duì)本機(jī)監(jiān)聽。

七、訪問(wèn)方式

7.1 瀏覽器訪問(wèn) Control UI

  • 地址:https://YOUR_SERVER_IP(例如 https://x.x.x.x)。
  • 首次會(huì)提示證書不受信任,選擇"高級(jí)" → "繼續(xù)前往"即可(自簽名證書正?,F(xiàn)象)。

密碼認(rèn)證

  • 若使用 token 模式:https://YOUR_SERVER_IP/#token=你的訪問(wèn)令牌

八、故障排查

8.1 反代后首次訪問(wèn)的典型問(wèn)題與處理順序

通過(guò) Nginx 反代首次用瀏覽器訪問(wèn) https://YOUR_SERVER_IP/#token=... 時(shí),常會(huì)依次遇到下面三類情況,按順序處理即可。

1)提示 "origin not allowed"

  • 原因:瀏覽器請(qǐng)求的 Origin 為 https://YOUR_SERVER_IP(經(jīng) Nginx 訪問(wèn)時(shí)的來(lái)源),未在網(wǎng)關(guān)白名單中。
  • 處理:在 ~/.openclaw/openclaw.json 的 gateway.controlUi.allowedOrigins 中增加一項(xiàng) https://YOUR_SERVER_IP(將 YOUR_SERVER_IP 換成實(shí)際 IP,無(wú)需寫 :443)。保存后重啟網(wǎng)關(guān)。

2)日志出現(xiàn) "Proxy headers detected from untrusted address"

  • 原因:網(wǎng)關(guān)收到了 Nginx 轉(zhuǎn)發(fā)的 X-Forwarded-For 等代理頭,但未把 Nginx 所在地址視為可信代理。
  • 處理:在 gateway 中增加 "trustedProxies": ["127.0.0.1"](Nginx 與網(wǎng)關(guān)同機(jī)時(shí))。保存后重啟網(wǎng)關(guān)。此步為可選,僅用于消除警告并改善"經(jīng)代理的本地連接"識(shí)別。

3)連接失?。簆airing required / not-paired(WebSocket code 1008)

  • 原因:經(jīng)反代訪問(wèn)時(shí),瀏覽器設(shè)備會(huì)被視為"遠(yuǎn)程設(shè)備",需在網(wǎng)關(guān)上完成一次設(shè)備配對(duì)后才能建立 WebSocket。與 Nginx 配置無(wú)關(guān)。
  • 處理:在運(yùn)行網(wǎng)關(guān)的服務(wù)器上執(zhí)行:
openclaw devices list          # 查看 Pending 列表中的 Request ID
openclaw devices approve <Request ID>   # 批準(zhǔn)該設(shè)備,例如 approve <Request ID>
  • 批準(zhǔn)后,刷新瀏覽器并再次訪問(wèn) https://YOUR_SERVER_IP/#token=你的令牌,Control UI 應(yīng)能正常連接。地址欄從 / 跳轉(zhuǎn)到 /chat?session=main 是前端路由行為,屬正常。

8.2 常見現(xiàn)象速查表

現(xiàn)象可能原因處理
502 Bad Gateway網(wǎng)關(guān)未運(yùn)行或 Nginx 連不上 18789在服務(wù)器上執(zhí)行 curl -I http://127.0.0.1:18789/,應(yīng)為 200/3xx;執(zhí)行 openclaw gateway start 或重啟 systemd 服務(wù)。
origin not allowed未把 https://YOUR_SERVER_IP 加入 allowedOrigins在 gateway.controlUi.allowedOrigins 中增加 https://YOUR_SERVER_IP,重啟網(wǎng)關(guān)。
Proxy headers from untrusted address(日志)未配置可信代理可選:在 gateway 中增加 "trustedProxies": ["127.0.0.1"],重啟網(wǎng)關(guān)。
pairing required / not-paired(1008)瀏覽器設(shè)備尚未在網(wǎng)關(guān)上配對(duì)在服務(wù)器執(zhí)行 openclaw devices list,再 openclaw devices approve <Request ID>。
能打開頁(yè)面但"與網(wǎng)關(guān)斷開"WebSocket 未正確代理或 Origin 未放行確認(rèn) Nginx 配置中有 proxy_http_version 1.1、Upgrade、Connection "upgrade";確認(rèn) gateway.controlUi.allowedOrigins 包含 https://YOUR_SERVER_IP。
認(rèn)證失敗密碼/ token 錯(cuò)誤或未傳確認(rèn) openclaw.json 中 auth.mode 與 auth.password/auth.token 一致;URL 用 ?token= 或 ?password=(視版本而定),不要用 #。
SECURITY ERROR (ws 明文)直接訪問(wèn)了 ws:// 或 http://IP:18789必須通過(guò) Nginx 的 https:// / wss:// 訪問(wèn),不要直連 18789。

九、參考鏈接

到此這篇關(guān)于使用Nginx為OpenClaw反向代理的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Nginx OpenClaw反向代理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • nginx反向代理jupyter實(shí)踐

    nginx反向代理jupyter實(shí)踐

    文章講述了如何配置Jupyter Notebook,包括打開配置文件和設(shè)置反向代理,反向代理配置中提到,指定HTTP版本為1.1是必要的,因?yàn)槿绻患?Notebook將無(wú)法連接到內(nèi)核并一直顯示斷開,此外,還提到了資源和瀏覽器禁止下載的問(wèn)題
    2026-03-03
  • Nginx通過(guò)geo模塊設(shè)置白名單的例子

    Nginx通過(guò)geo模塊設(shè)置白名單的例子

    今天小編就為大家分享一篇Nginx通過(guò)geo模塊設(shè)置白名單的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • 淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn)

    淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn)

    這篇文章主要介紹了淺談Nginx請(qǐng)求限制和訪問(wèn)控制的實(shí)現(xiàn),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 用Nginx反向代理Node.js的方法

    用Nginx反向代理Node.js的方法

    本篇文章主要介紹了用Nginx反向代理Node.js的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Nginx配置location匹配順序詳細(xì)總結(jié)

    Nginx配置location匹配順序詳細(xì)總結(jié)

    這篇文章主要介紹了Nginx配置location匹配順序詳解,Nginx是十分輕量級(jí)的HTTP服務(wù)器,Nginx憑借其穩(wěn)定性、低資源消耗、簡(jiǎn)單配置和豐富的功能,從十多年前名不見經(jīng)傳的Web服務(wù)器軟件,發(fā)展到如今能夠跟Apache匹敵的地位,需要的朋友可以參考下
    2023-08-08
  • Nginx禁止指定UA訪問(wèn)的方法

    Nginx禁止指定UA訪問(wèn)的方法

    這篇文章主要介紹了Nginx禁止指定UA訪問(wèn)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 深度詳解什么是Nginx正向代理與反向代理

    深度詳解什么是Nginx正向代理與反向代理

    這篇文章主要介紹了Nginx正向代理與Nginx反向代理的區(qū)別,比較易懂,需要的朋友可以參考下
    2023-03-03
  • Nginx通過(guò)配置文件阻止海外ip訪問(wèn)的方法步驟

    Nginx通過(guò)配置文件阻止海外ip訪問(wèn)的方法步驟

    這篇文章主要介紹了Nginx通過(guò)配置文件阻止海外ip訪問(wèn)的方法步驟,為防止海外IP刷評(píng)論,用戶通過(guò)Nginx配置屏蔽海外IP,利用APNIC數(shù)據(jù)提取國(guó)內(nèi)IP并生成deny規(guī)則,測(cè)試后確認(rèn)有效,可手動(dòng)或定時(shí)更新配置以保持防護(hù),需要的朋友可以參考下
    2025-07-07
  • 詳解 Nginx代理功能與負(fù)載均衡

    詳解 Nginx代理功能與負(fù)載均衡

    本篇文章主要介紹了詳解 Nginx代理功能與負(fù)載均衡,先描述一些關(guān)于代理功能的配置,再說(shuō)明負(fù)載均衡詳細(xì),有興趣的可以了解一下。
    2017-02-02
  • nginx中的location路徑配置(實(shí)路徑和虛路徑)

    nginx中的location路徑配置(實(shí)路徑和虛路徑)

    這篇文章主要介紹了nginx中的location路徑配置(實(shí)路徑和虛路徑),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06

最新評(píng)論

辰溪县| 阿荣旗| 元江| 宣武区| 竹北市| 西安市| 金寨县| 汪清县| 桦甸市| 宁明县| 桑日县| 株洲县| 陆河县| 三台县| 固原市| 沈丘县| 正蓝旗| 大姚县| 南召县| 集贤县| 绥宁县| 平顶山市| 湘阴县| 广宗县| 博湖县| 江西省| 夏津县| 黄浦区| 绥江县| 洞头县| 凯里市| 五常市| 儋州市| 东城区| 亳州市| 全州县| 赣州市| 四川省| 视频| 西充县| 靖边县|