Gateway
Güvenilir proxy kimlik doğrulaması
Ne zaman kullanılmalı
- OpenClaw'ı kimlik bilgisine duyarlı bir proxy (Pomerium, Caddy + OAuth, nginx + oauth2-proxy, Traefik + iletilen kimlik doğrulama) arkasında çalıştırıyorsanız.
- Proxy'niz tüm kimlik doğrulama işlemlerini gerçekleştiriyor ve kullanıcı kimliğini üstbilgiler aracılığıyla iletiyorsa.
- Proxy'nin Gateway'e giden tek yol olduğu bir Kubernetes veya konteyner ortamındaysanız.
- Tarayıcılar WS yüklerinde belirteç iletemediği için WebSocket
1008 unauthorizedhataları alıyorsanız.
Ne zaman KULLANILMAMALI
- Proxy'niz kullanıcıların kimliğini doğrulamıyorsa (yalnızca bir TLS sonlandırıcı veya yük dengeleyiciyse).
- Gateway'e proxy'yi atlayan herhangi bir yol varsa (güvenlik duvarı açıkları, dahili ağ erişimi).
- Proxy'nizin iletilen üstbilgileri doğru biçimde kaldırdığından/üzerine yazdığından emin değilseniz.
- Yalnızca kişisel, tek kullanıcılı erişime ihtiyacınız varsa (bunun yerine Tailscale Serve + geri döngüyü değerlendirin).
Nasıl çalışır
Proxy kullanıcının kimliğini doğrular
Ters proxy'niz kullanıcıların kimliğini doğrular (OAuth, OIDC, SAML vb.).
Proxy bir kimlik üstbilgisi ekler
Proxy, kimliği doğrulanmış kullanıcı kimliğini içeren bir üstbilgi ekler (ör. x-forwarded-user: nick@example.com).
Gateway güvenilir kaynağı doğrular
OpenClaw, isteğin güvenilir bir proxy IP'sinden (gateway.trustedProxies) geldiğini ve Gateway'in kendi geri döngü veya yerel arayüz adresinden gelmediğini denetler.
Gateway kimliği çıkarır
OpenClaw gerekli üstbilgileri, ardından yapılandırılmış üstbilgiden kullanıcı kimliğini okur.
Yetkilendir
Tüm denetimler başarılı olursa ve kullanıcı allowUsers denetimini (ayarlandıysa) geçerse istek yetkilendirilir.
Yapılandırma
{ gateway: { // Güvenilir proxy kimlik doğrulaması, proxy'nin kaynak IP'sinin varsayılan olarak geri döngü olmamasını bekler bind: "lan", // KRİTİK: Buraya yalnızca proxy'nizin IP adreslerini ekleyin trustedProxies: ["10.0.0.1", "172.17.0.1"], auth: { mode: "trusted-proxy", trustedProxy: { // Kimliği doğrulanmış kullanıcı kimliğini içeren üstbilgi (gerekli) userHeader: "x-forwarded-user", // İsteğe bağlı: BULUNMASI ZORUNLU üstbilgiler (proxy doğrulaması) requiredHeaders: ["x-forwarded-proto", "x-forwarded-host"], // İsteğe bağlı: belirli kullanıcılarla sınırla (boş = tümüne izin ver) allowUsers: ["nick@example.com", "admin@company.org"], // İsteğe bağlı: açıkça etkinleştirildikten sonra aynı ana makinedeki geri döngü proxy'sine izin ver allowLoopback: false, // İsteğe bağlı: kimliği doğrulanmış proxy kullanıcılarının yeni tarayıcı cihazlarını kaydetmesine izin ver deviceAutoApprove: { enabled: false, scopes: ["operator.read", "operator.write", "operator.approvals"], }, }, }, },}Yapılandırma başvurusu
gateway.trustedProxiesstring[]requiredGüvenilecek proxy IP adresleri (veya CIDR'ler) dizisi. Diğer IP'lerden gelen istekler reddedilir.
gateway.auth.modestringrequired"trusted-proxy" olmalıdır.
gateway.auth.trustedProxy.userHeaderstringrequiredKimliği doğrulanmış kullanıcı kimliğini içeren üstbilgi adı.
gateway.auth.trustedProxy.requiredHeadersstring[]İsteğin güvenilir sayılması için mevcut olması gereken ek üstbilgiler.
gateway.auth.trustedProxy.allowUsersstring[]Kullanıcı kimliklerinin izin verilenler listesi. Boş olması, kimliği doğrulanmış tüm kullanıcılara izin verilmesi anlamına gelir.
gateway.auth.trustedProxy.allowLoopbackbooleandefault: falseAynı ana makinedeki geri döngü ters proxy'leri için isteğe bağlı destek.
gateway.auth.trustedProxy.deviceAutoApprove.enabledbooleandefault: falseGüvenilir proxy kimlik doğrulamasından sonra yeni Control UI ve WebChat cihaz kimliklerini otomatik olarak onaylar.
gateway.auth.trustedProxy.deviceAutoApprove.scopesstring[]default: ["operator.read", "operator.write", "operator.approvals"]Otomatik olarak onaylanan bir tarayıcı cihazına verilen azami kapsamlar. operator.admin değerinin açıkça listelenmesi, proxy üzerinden kimliği doğrulanmış her kullanıcının otomatik tam yönetici cihaz yetkisi istemesine olanak tanır, kapsamsız isteklerin otomatik olarak tam yönetici yetkisi almasına neden olur ve KRİTİK gateway.trusted_proxy_device_auto_approve_admin güvenlik denetimi bulgusunu ve bir Gateway başlatma uyarısını tetikler.
Otomatik cihaz onayı
Güvenilir proxy kimlik doğrulaması, isteğe bağlı olarak proxy kimliğini yeni tarayıcı cihazlarının onay sınırı olarak kullanabilir:
{ gateway: { auth: { mode: "trusted-proxy", trustedProxy: { userHeader: "x-forwarded-user", allowUsers: ["operator@example.com"], deviceAutoApprove: { enabled: true, scopes: ["operator.read", "operator.write", "operator.approvals"], }, }, }, },}Varsayılan değer enabled: false. Etkinleştirildiğinde şu kuralların tümü geçerlidir:
- WebSocket,
trusted-proxyyöntemi üzerinden, boş olmayan ve bir izin verilenler listesi yapılandırılmışsaallowUsersdenetimini geçen bir kullanıcı kimliğiyle doğrulanmış olmalıdır. Belirteç, parola, Tailscale ve kimliği doğrulanmamış bağlantılar bu politikayı hiçbir zaman kullanmaz. - Yalnızca yeni bir Control UI veya WebChat tarayıcı cihazı otomatik olarak onaylanabilir. Kapsam yükseltme dahil olmak üzere mevcut bir cihaza yönelik tüm istekler,
openclaw devices approve <requestId>ile elle onaylanmak üzere beklemede kalır. - Cihaz,
operatorrolüyle onaylanır. Bağlantı isteği kapsamlar içeriyorsa verilen yetki, istenen kapsamlarladeviceAutoApprove.scopesdeğerinin tam kesişimidir. İstekte kapsamlar belirtilmezse yapılandırılmış liste verilir; bu liste belirtilmediğinde varsayılan olarakoperator.read,operator.writeveoperator.approvalskullanılır. Ardından ortaya çıkan yetki, mevcut olduğunda bağlantınınx-openclaw-scopesproxy üstbilgisiyle ayrıca sınırlandırılır; böylece bir kullanıcının kapsamlarını daraltan proxy yalnızca oturumu değil, kalıcı cihaz yetkisini de sınırlar; mevcut ancak boş bir üstbilgi hiçbir kapsam sağlamaz. Bu sınır, istemci kendi kapsam listesini belirtmediğinde da uygulanır. operator.adminyalnızcadeviceAutoApprove.scopesiçinde açıkça listelenmesi yoluyla kullanılabilir. Listelendiğinde, proxy üzerinden kimliği doğrulanmış her kullanıcı yeni bir tarayıcı cihazında tam yönetici yetkisi isteyebilir ve bunu otomatik olarak alabilir; kapsamsız istekler otomatik olarak tam yönetici yetkisi alır.openclaw security audit, KRİTİKgateway.trusted_proxy_device_auto_approve_adminbulgusunu bildirir ve Gateway başlatma sırasında bir kez uyarı kaydeder. Kimlik başına roller kullanıma sunulana kadaropenclaw devices approveveyaopenclaw devices rotateile elle yönetici onayını tercih edin.
Control UI eşleştirme davranışı
gateway.auth.mode = "trusted-proxy" etkin olduğunda ve istek güvenilir proxy denetimlerini geçtiğinde, Control UI WebSocket oturumları cihaz eşleştirme kimliği olmadan bağlanabilir.
Kapsam sonuçları:
- Cihazsız Control UI WebSocket oturumları bağlanır ancak varsayılan olarak hiçbir operatör kapsamı almaz. OpenClaw, istenen kapsam listesini
[]olarak temizler; böylece onaylanmış eşleştirilmiş bir cihaza/belirtece bağlı olmayan bir oturum izinlerini kendisi beyan edemez. - Başarılı bir WebSocket bağlantısından sonra yöntemler
missing scopehatasıyla başarısız olursa tarayıcının cihaz kimliği oluşturabilmesi ve eşleştirmeyi tamamlayabilmesi için HTTPS kullanın. Bkz. Control UI güvenli olmayan HTTP. - Kullanımdan kaldırılmış
gateway.controlUi.dangerouslyDisableDeviceAuth=trueanahtarını hâlâ içeren eski yapılandırmalar, sınırlandırılmış Control UI yükseltme geçişini kullanır.
Ters proxy kapsam sınırlaması: Proxy'niz Control UI WebSocket yükseltme isteğinde x-openclaw-scopes gönderirse OpenClaw, oturum kapsamlarını istenen kapsamlarla beyan edilen kapsamların kesişimiyle sınırlar. Bu üstbilgi kapsam vermez; yalnızca oturumun sahip olabileceği kapsamları daraltır. deviceAutoApprove.enabled doğru olduğunda aynı sınır, otomatik cihaz onayı tarafından yazılan kalıcı cihaz yetkisine de uygulanır; böylece otomatik olarak onaylanan bir cihaz hiçbir zaman proxy'nin beyan ettiğinden daha fazla kapsama sahip olmaz.
Sonuçlar:
- Eşleştirme artık cihazsız Control UI erişimi için birincil geçit değildir.
deviceAutoApprove.enableddoğru olduğunda proxy kimliği, yeni tarayıcı cihazı kaydı için de onay geçidi hâline gelir. - Ters proxy kimlik doğrulama politikanız ve
allowUsersetkin erişim denetimi hâline gelir. - Gateway girişini yalnızca güvenilir proxy IP'leriyle sınırlı tutun (
gateway.trustedProxies+ güvenlik duvarı).
Özel WebSocket istemcileri Control UI oturumları değildir. Kullanımdan kaldırılmış Control UI
yükseltme girdisi, isteğe bağlı
client.mode: "backend" veya CLI biçimli istemcilere geçici erişim sağlamaz. Özel otomasyon;
cihaz kimliğini/eşleştirmeyi, ayrılmış doğrudan yerel client.id: "gateway-client"
arka uç yardımcı yolunu veya bir HTTP istek/yanıt yüzeyi daha uygunsa yönetici HTTP RPC Plugin'ini
kullanmalıdır.
Operatör kapsamları üstbilgisi
Güvenilir proxy kimlik doğrulaması, kimlik taşıyan bir HTTP modudur; bu nedenle çağıranlar, HTTP API isteklerinde x-openclaw-scopes ile isteğe bağlı olarak operatör kapsamları bildirebilir.
Not: WebSocket kapsamları, Gateway protokolü el sıkışması ve cihaz kimliği bağlaması tarafından belirlenir. Control UI WebSocket yükseltme isteklerinde x-openclaw-scopes, bir yetki verme değil, yalnızca üzerinde uzlaşılan oturum kapsamlarına uygulanan bir üst sınırdır. Bkz. Control UI eşleştirme davranışı.
Örnekler:
x-openclaw-scopes: operator.readx-openclaw-scopes: operator.read,operator.writex-openclaw-scopes: operator.admin,operator.write
Davranış:
- Üst bilgi mevcut olduğunda OpenClaw, bildirilen kapsam kümesini dikkate alır.
- Üst bilgi mevcut ancak boş olduğunda istek, hiçbir operatör kapsamı bildirmez.
- Üst bilgi olmadığında, normal kimlik taşıyan HTTP API'leri standart varsayılan operatör kapsamı kümesine geri döner (
operator.admin,operator.read,operator.write,operator.approvals,operator.pairing,operator.talk.secrets). - Gateway kimlik doğrulamalı plugin HTTP rotaları varsayılan olarak daha dardır:
x-openclaw-scopesolmadığında çalışma zamanı kapsamları yalnızcaoperator.writekapsamına geri döner. - Tarayıcı kaynaklı HTTP istekleri, güvenilir proxy kimlik doğrulaması başarılı olduktan sonra bile
gateway.controlUi.allowedOriginsdenetiminden (veya bilinçli Host üst bilgisi geri dönüş modundan) geçmelidir.
Pratik kural: Bir güvenilir proxy isteğinin varsayılanlardan daha dar olmasını istediğinizde veya Gateway kimlik doğrulamalı bir plugin rotası yazma kapsamından daha güçlü bir kapsam gerektirdiğinde x-openclaw-scopes değerini açıkça gönderin.
TLS sonlandırma ve HSTS
Tek bir TLS sonlandırma noktası kullanın ve HSTS'yi orada uygulayın.
Proxy TLS sonlandırması (önerilen)
Ters proxy'niz https://control.example.com için HTTPS'yi işlediğinde, söz konusu alan adı için proxy'de Strict-Transport-Security ayarını yapın.
- İnternete açık dağıtımlar için uygundur.
- Sertifika ve HTTP sağlamlaştırma politikasını tek bir yerde tutar.
- OpenClaw, proxy'nin arkasında geri döngü HTTP'sinde kalabilir.
Örnek üst bilgi değeri:
Strict-Transport-Security: max-age=31536000; includeSubDomainsGateway TLS sonlandırması
OpenClaw HTTPS'yi doğrudan kendisi sunuyorsa (TLS sonlandıran bir proxy yoksa) şunu ayarlayın:
{ gateway: { tls: { enabled: true }, http: { securityHeaders: { strictTransportSecurity: "max-age=31536000; includeSubDomains", }, }, },}strictTransportSecurity, bir dize üst bilgi değerini veya açıkça devre dışı bırakmak için false değerini kabul eder.
Kullanıma alma rehberi
- Trafiği doğrularken önce kısa bir maksimum süreyle (örneğin
max-age=300) başlayın. - Uzun süreli değerlere (örneğin
max-age=31536000) yalnızca yeterince emin olduktan sonra geçin. - Yalnızca tüm alt alan adları HTTPS'ye hazırsa
includeSubDomainsekleyin. - Ön yüklemeyi yalnızca tüm alan adı kümeniz için ön yükleme gereksinimlerini bilinçli olarak karşılıyorsanız kullanın.
- Yalnızca geri döngüye bağlı yerel geliştirme HSTS'den fayda sağlamaz.
Proxy kurulum örnekleri
Pomerium
Pomerium, kimliği x-pomerium-claim-email (veya diğer talep üst bilgileri) içinde ve bir JWT'yi x-pomerium-jwt-assertion içinde iletir.
{ gateway: { bind: "lan", trustedProxies: ["10.0.0.1"], // Pomerium'un IP'si auth: { mode: "trusted-proxy", trustedProxy: { userHeader: "x-pomerium-claim-email", requiredHeaders: ["x-pomerium-jwt-assertion"], }, }, },}Pomerium yapılandırma parçacığı:
routes: - from: https://openclaw.example.com to: http://openclaw-gateway:18789 policy: - allow: or: - email: is: nick@example.com pass_identity_headers: trueOAuth ile Caddy
caddy-security pluginiyle Caddy, kullanıcıların kimliğini doğrulayabilir ve kimlik üst bilgilerini iletebilir.
{ gateway: { bind: "lan", trustedProxies: ["10.0.0.1"], // Caddy/yardımcı proxy IP'si auth: { mode: "trusted-proxy", trustedProxy: { userHeader: "x-forwarded-user", }, }, },}Caddyfile parçacığı:
openclaw.example.com { authenticate with oauth2_provider authorize with policy1 reverse_proxy openclaw:18789 { header_up X-Forwarded-User {http.auth.user.email} }}nginx + oauth2-proxy
oauth2-proxy, kullanıcıların kimliğini doğrular ve kimliği x-auth-request-email içinde iletir.
{ gateway: { bind: "lan", trustedProxies: ["10.0.0.1"], // nginx/oauth2-proxy IP'si auth: { mode: "trusted-proxy", trustedProxy: { userHeader: "x-auth-request-email", }, }, },}nginx yapılandırma parçacığı:
location / { auth_request /oauth2/auth; auth_request_set $user $upstream_http_x_auth_request_email; proxy_pass http://openclaw:18789; proxy_set_header X-Auth-Request-Email $user; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";}İleri kimlik doğrulamalı Traefik
{ gateway: { bind: "lan", trustedProxies: ["172.17.0.1"], // Traefik kapsayıcı IP'si auth: { mode: "trusted-proxy", trustedProxy: { userHeader: "x-forwarded-user", }, }, },}Karma token yapılandırması
Paylaşılan bir token da yapılandırılmışsa (gateway.auth.token veya OPENCLAW_GATEWAY_TOKEN), Gateway başlangıcı güvenilir proxy kimlik doğrulamasını reddeder. Bu ikisi birbirini dışlar; çünkü paylaşılan bir token, aynı ana makinedeki çağıranların bu modun zorunlu kılmayı amaçladığı proxy tarafından doğrulanmış kimlikten tamamen farklı bir yolla kimlik doğrulamasına olanak tanır.
Başlangıç gateway auth mode is trusted-proxy, but a shared token is also configured benzeri bir hatayla başarısız olursa:
- Güvenilir proxy modunu kullanırken paylaşılan tokenı kaldırın veya
- Token tabanlı kimlik doğrulamayı amaçlıyorsanız
gateway.auth.modedeğerini"token"olarak değiştirin.
Geri döngü güvenilir proxy kimlik üst bilgileri yine güvenli biçimde başarısız olur: aynı ana makinedeki çağıranların kimliği sessizce proxy kullanıcıları olarak doğrulanmaz. Proxy'yi atlayan dahili OpenClaw çağıranları bunun yerine gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD ile kimlik doğrulayabilir. Token geri dönüşü, güvenilir proxy modunda bilinçli olarak desteklenmez.
Güvenlik denetim listesi
Güvenilir proxy kimlik doğrulamasını etkinleştirmeden önce şunları doğrulayın:
- [ ] Proxy tek yoldur: Gateway portu, proxy'niz dışındaki her şeye karşı güvenlik duvarıyla korunur.
- [ ] trustedProxies asgaridir: Tüm alt ağlar değil, yalnızca gerçek proxy IP'leriniz.
- [ ] Geri döngü proxy kaynağı bilinçli seçilmiştir: Aynı ana makinedeki bir proxy için
gateway.auth.trustedProxy.allowLoopbackaçıkça etkinleştirilmediği sürece, güvenilir proxy kimlik doğrulaması geri döngü kaynaklı isteklerde güvenli biçimde başarısız olur. - [ ] Proxy üst bilgileri temizler: Proxy'niz, istemcilerden gelen
x-forwarded-*üst bilgilerini sona eklemek yerine üzerine yazar. - [ ] TLS sonlandırma: Proxy'niz TLS'yi işler; kullanıcılar HTTPS üzerinden bağlanır.
- [ ] allowedOrigins açıkça belirtilmiştir: Geri döngü dışındaki Control UI, açıkça belirtilmiş
gateway.controlUi.allowedOriginskullanır. - [ ] allowUsers ayarlanmıştır (önerilen): Kimliği doğrulanmış herkese izin vermek yerine erişimi bilinen kullanıcılarla sınırlayın.
- [ ] Karma token yapılandırması yoktur: Hem
gateway.auth.tokenhem degateway.auth.mode: "trusted-proxy"ayarlamayın. - [ ] Yerel parola geri dönüşü özeldir: Dahili doğrudan çağıranlar için
gateway.auth.passwordyapılandırırsanız, proxy kullanmayan uzak istemcilerin doğrudan erişememesi için Gateway portunu güvenlik duvarıyla koruyun. - [ ] Cihazın otomatik onaylanması bilinçli bir tercihtir:
deviceAutoApprove.enabledtrue ise ters proxy hesap güvenliğini cihaz kaydı sınırı olarak değerlendirin ve verilen kapsam listesini yönetici olmayan kapsamlarla ve asgari düzeyde tutun.
Güvenlik denetimi
openclaw security audit, güvenilir proxy kimlik doğrulamasını kritik önem derecesine sahip bir bulgu olarak işaretler. Bu bilinçli bir tercihtir; güvenliği proxy kurulumunuza devrettiğinizi hatırlatır.
Denetim şunları kontrol eder:
- Temel
gateway.trusted_proxy_authuyarısı/kritik hatırlatması. - Eksik
trustedProxiesyapılandırması. - Eksik
userHeaderyapılandırması. - Boş
allowUsers(kimliği doğrulanmış tüm kullanıcılara izin verir). - Aynı ana makinedeki proxy kaynakları için etkinleştirilmiş
allowLoopback. - Etkinleştirilmiş tarayıcı cihazı otomatik onayı (yeni cihaz eşleştirmesini proxy kimliğine devreder).
Control UI kullanıma açıldığında, güvenilir proxy'ye özgü olmayan ayrı bulgular da geçerlidir: joker karakterli veya eksik gateway.controlUi.allowedOrigins ve Host üst bilgisi kaynak geri dönüşü.
Sorun giderme
trusted_proxy_untrusted_source
İstek, gateway.trustedProxies içindeki bir IP'den gelmedi. Şunları kontrol edin:
- Proxy IP'si doğru mu? (Docker kapsayıcı IP'leri değişebilir.)
- Proxy'nizin önünde bir yük dengeleyici var mı?
- Gerçek IP'leri bulmak için
docker inspectveyakubectl get pods -o widekullanın.
trusted_proxy_loopback_source
OpenClaw, geri döngü kaynaklı bir güvenilir proxy isteğini reddetti.
Şunları kontrol edin:
- Proxy
127.0.0.1/::1adresinden mi bağlanıyor? - Güvenilir proxy kimlik doğrulamasını aynı ana makinedeki bir geri döngü ters proxy'siyle mi kullanmaya çalışıyorsunuz?
Çözüm:
- Proxy üzerinden geçmeyen aynı ana makinedeki dahili istemciler için token/parola kimlik doğrulamasını tercih edin veya
- Trafiği geri döngü olmayan güvenilir bir proxy adresi üzerinden yönlendirin ve bu IP'yi
gateway.trustedProxiesiçinde tutun veya - Bilinçli olarak kullanılan aynı ana makinedeki bir ters proxy için
gateway.auth.trustedProxy.allowLoopback = trueayarını yapın, geri döngü adresinigateway.trustedProxiesiçinde tutun ve proxy'nin kimlik üst bilgilerini temizlediğinden veya üzerlerine yazdığından emin olun.
trusted_proxy_local_interface_source / trusted_proxy_local_interface_check_failed
İsteğin kaynak IP'si, Gateway ana makinesinin geri döngü olmayan kendi ağ arabirimi adreslerinden biriyle (proxy ile değil) eşleşti; bu, tailnet'lerde veya Docker köprü ağlarında aynı ana makineden gelen sahte trafiğe karşı bir korumadır. ..._check_failed, arabirim keşfinin kendisinin hata verdiği anlamına gelir; bu nedenle OpenClaw güvenli biçimde başarısız olur.
Şunları kontrol edin:
- Gateway ana makinesinin kendisindeki bir işlem, proxy'yi atlayarak kimlik üst bilgilerini doğrudan mı gönderiyor?
- Proxy, Gateway ile aynı ağ ad alanında ve yerel bir arabirim olarak da görünen bir IP ile mi çalışıyor?
Çözüm: Proxy trafiğini Gateway ana makinesinde yerel olarak bağlı olmayan bir adres üzerinden yönlendirin veya allowLoopback seçeneğini yalnızca gerçek bir aynı ana makine proxy kurulumu için kullanın.
trusted_proxy_user_missing
Kullanıcı üst bilgisi boştu veya yoktu. Şunları kontrol edin:
- Proxy'niz kimlik üst bilgilerini iletecek şekilde yapılandırılmış mı?
- Üst bilgi adı doğru mu? (büyük/küçük harfe duyarsızdır, ancak yazım önemlidir)
- Kullanıcının kimliği proxy'de gerçekten doğrulanmış mı?
trusted_proxy_missing_header_*
Gerekli bir üst bilgi yoktu. Şunları kontrol edin:
- Söz konusu belirli üst bilgiler için proxy yapılandırmanızı.
- Üst bilgilerin zincirin herhangi bir yerinde kaldırılıp kaldırılmadığını.
trusted_proxy_user_not_allowed
Kullanıcının kimliği doğrulandı ancak kullanıcı allowUsers içinde değil. Kullanıcıyı ekleyin veya izin verilenler listesini kaldırın.
trusted_proxy_no_proxies_configured / trusted_proxy_config_missing
gateway.auth.mode, "trusted-proxy" olarak ayarlanmış ancak gateway.trustedProxies boş veya gateway.auth.trustedProxy yapılandırmasının kendisi eksik. Her ikisi de ayarlanana kadar tüm istekler reddedilir.
trusted_proxy_origin_not_allowed
Güvenilir proxy kimlik doğrulaması başarılı oldu ancak tarayıcının Origin üstbilgisi, Control UI kaynak denetimlerinden geçemedi.
Şunları denetleyin:
gateway.controlUi.allowedOrigins, tam tarayıcı kaynağını içeriyor.- Tümüne izin verme davranışını kasıtlı olarak istemediğiniz sürece joker karakterli kaynaklara güvenmiyorsunuz.
- Host üstbilgisi geri dönüş modunu kasıtlı olarak kullanıyorsanız
gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=truebilinçli biçimde ayarlanmıştır.
Bağlantı başarılı ancak yöntemler eksik kapsam bildiriyor
WebSocket bağlanıyor ancak chat.history, sessions.list veya
models.list, missing scope: operator.read hatasıyla başarısız oluyor.
Yaygın nedenler:
- Cihazsız Control UI oturumu: Güvenilir proxy kimlik doğrulaması, cihaz kimliği olmadan WebSocket bağlantısını kabul edebilir ancak OpenClaw tasarım gereği cihazsız oturumların kapsamlarını temizler.
- Özel arka uç istemcisi: Kullanımdan kaldırılmış Control UI yükseltme girdisi, rastgele arka uç veya CLI biçimli WebSocket istemcilerine hiçbir zaman erişim vermez.
- Aşırı dar
x-openclaw-scopes: Proxy'niz bu üstbilgiyi Control UI WebSocket yükseltme isteğine ekliyorsa oturum kapsamları bu kümeyle sınırlandırılır. Boş bir üstbilgi değeri hiçbir kapsam sağlamaz.
Düzeltme:
- Control UI için tarayıcının cihaz kimliği oluşturabilmesi ve eşleştirmeyi tamamlayabilmesi amacıyla HTTPS kullanın.
- Özel otomasyon için cihaz kimliği/eşleştirme, ayrılmış doğrudan yerel
gateway-clientarka uç yardımcı yolunu veya yönetici HTTP RPC'sini kullanın. - Kullanımdan kaldırılmış
gateway.controlUi.dangerouslyDisableDeviceAuthanahtarını mevcut yapılandırmaya eklemeyin. Eski kurulumlar tek seferlik kendiliğinden eşleştirme geçişini otomatik olarak kullanır.
WebSocket hâlâ başarısız oluyor
Proxy'nizin şunları yaptığından emin olun:
- WebSocket yükseltmelerini destekler (
Upgrade: websocket,Connection: upgrade). - Kimlik üstbilgilerini yalnızca HTTP'de değil, WebSocket yükseltme isteklerinde de iletir.
- WebSocket bağlantıları için ayrı bir kimlik doğrulama yolu kullanmaz.
Belirteç kimlik doğrulamasından geçiş
Proxy'yi yapılandırın
Proxy'nizi kullanıcıların kimliğini doğrulayacak ve üstbilgileri iletecek şekilde yapılandırın.
Proxy'yi bağımsız olarak test edin
Proxy kurulumunu bağımsız olarak test edin (üstbilgilerle curl).
OpenClaw yapılandırmasını güncelleyin
OpenClaw yapılandırmasını güvenilir proxy kimlik doğrulamasıyla güncelleyin.
Gateway'i yeniden başlatın
Gateway'i yeniden başlatın.
WebSocket'i test edin
Control UI üzerinden WebSocket bağlantılarını test edin.
Denetleyin
openclaw security audit komutunu çalıştırın ve bulguları inceleyin.
İlgili
- Yapılandırma — yapılandırma başvurusu
- Operatör kapsamları — roller, kapsamlar ve onay denetimleri
- Uzaktan erişim — diğer uzaktan erişim kalıpları
- Güvenlik — kapsamlı güvenlik kılavuzu
- Tailscale — yalnızca tailnet erişimi için daha basit alternatif