Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Ne zaman kullanılır?
trusted-proxy kimlik doğrulama modunu şu durumlarda kullanın:
- OpenClaw’ı kimlik farkındalığı olan bir proxy arkasında çalıştırıyorsanız (Pomerium, Caddy + OAuth, nginx + oauth2-proxy, Traefik + ileri kimlik doğrulama).
- Proxy’niz tüm kimlik doğrulamayı işliyor ve kullanıcı kimliğini başlıklar 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 token geçiremediği için WebSocket
1008 unauthorizedhataları alıyorsanız.
Ne zaman kullanılmamalıdır?
- Proxy’niz kullanıcıların kimliğini doğrulamıyorsa (yalnızca TLS sonlandırıcı veya yük dengeleyiciyse).
- Gateway’e proxy’yi atlayan herhangi bir yol varsa (güvenlik duvarı açıklıkları, dahili ağ erişimi).
- Proxy’nizin iletilen başlıkları doğru şekilde kaldırıp/üzerine yazıp yazmadığından emin değilseniz.
- Yalnızca kişisel tek kullanıcılı erişime ihtiyacınız varsa (daha basit kurulum için Tailscale Serve + loopback seçeneğini 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 başlığı ekler
Proxy, kimliği doğrulanmış kullanıcı kimliğini içeren bir başlık ekler (ör.
x-forwarded-user: nick@example.com).Gateway güvenilir kaynağı doğrular
OpenClaw, isteğin güvenilir bir proxy IP’sinden geldiğini denetler (
gateway.trustedProxies içinde yapılandırılır).Control UI eşleştirme davranışı
gateway.auth.mode = "trusted-proxy" etkinken ve istek trusted-proxy denetimlerinden geçtiğinde, Control UI WebSocket oturumları cihaz eşleştirme kimliği olmadan bağlanabilir.
Sonuçlar:
- Bu modda eşleştirme artık Control UI erişimi için birincil kapı değildir.
- Ters proxy kimlik doğrulama politikanız ve
allowUsersfiili erişim denetimi haline gelir. - Gateway girişini yalnızca güvenilir proxy IP’lerine kilitli tutun (
gateway.trustedProxies+ güvenlik duvarı).
Yapılandırma
Yapılandırma başvurusu
Güvenilecek proxy IP adresleri dizisi. Diğer IP’lerden gelen istekler reddedilir.
"trusted-proxy" olmalıdır.Kimliği doğrulanmış kullanıcı kimliğini içeren başlık adı.
İsteğin güvenilir sayılması için bulunması gereken ek başlıklar.
Kullanıcı kimlikleri izin listesi. Boş olması, kimliği doğrulanmış tüm kullanıcılara izin verileceği anlamına gelir.
Aynı ana makinedeki loopback ters proxy’ler için açık onaylı destek. Varsayılan değer
false şeklindedir.TLS sonlandırma ve HSTS
Tek bir TLS sonlandırma noktası kullanın ve HSTS’yi orada uygulayın.- Proxy TLS sonlandırması (önerilir)
- Gateway TLS sonlandırması
Ters proxy’niz
https://control.example.com için HTTPS’yi işliyorsa, Strict-Transport-Security değerini proxy’de o etki alanı için ayarlayın.- İnternete açık dağıtımlar için uygundur.
- Sertifika + HTTP sıkılaştırma politikasını tek yerde tutar.
- OpenClaw, proxy’nin arkasında loopback HTTP üzerinde kalabilir.
Kullanıma alma yönergeleri
- Trafiği doğrularken önce kısa bir maksimum yaş ile başlayın (örneğin
max-age=300). - Uzun ömürlü değerlere (örneğin
max-age=31536000) yalnızca güven yüksek olduğunda artırın. includeSubDomainsdeğerini yalnızca her alt etki alanı HTTPS’ye hazırsa ekleyin.- Preload’u yalnızca tüm etki alanı kümeniz için preload gereksinimlerini bilinçli olarak karşılıyorsanız kullanın.
- Yalnızca loopback yerel geliştirme HSTS’den fayda sağlamaz.
Proxy kurulum örnekleri
Pomerium
Pomerium
Pomerium, kimliği Pomerium yapılandırma parçacığı:
x-pomerium-claim-email içinde (veya diğer talep başlıklarında), JWT’yi ise x-pomerium-jwt-assertion içinde iletir.OAuth ile Caddy
OAuth ile Caddy
caddy-security Plugin’i ile Caddy kullanıcıların kimliğini doğrulayabilir ve kimlik başlıklarını iletebilir.nginx + oauth2-proxy
nginx + oauth2-proxy
oauth2-proxy kullanıcıların kimliğini doğrular ve kimliği nginx yapılandırma parçacığı:
x-auth-request-email içinde iletir.İleri kimlik doğrulama ile Traefik
İleri kimlik doğrulama ile Traefik
Karma token yapılandırması
OpenClaw, hemgateway.auth.token (veya OPENCLAW_GATEWAY_TOKEN) hem de trusted-proxy modunun aynı anda etkin olduğu belirsiz yapılandırmaları reddeder. Karma token yapılandırmaları, loopback isteklerinin yanlış kimlik doğrulama yolunda sessizce kimlik doğrulamasına neden olabilir.
Başlangıçta mixed_trusted_proxy_token hatası görürseniz:
- trusted-proxy modunu kullanırken paylaşılan token’ı kaldırın veya
- Token tabanlı kimlik doğrulama istiyorsanız
gateway.auth.modedeğerini"token"olarak değiştirin.
gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD ile kimlik doğrulaması yapabilir. Token geri dönüşü trusted-proxy modunda bilinçli olarak desteklenmemeye devam eder.
Operatör kapsamları başlığı
Trusted-proxy kimlik doğrulaması kimlik taşıyan bir HTTP modudur; bu nedenle çağıranlar isteğe bağlı olarakx-openclaw-scopes ile operatör kapsamlarını bildirebilir.
Örnekler:
x-openclaw-scopes: operator.readx-openclaw-scopes: operator.read,operator.writex-openclaw-scopes: operator.admin,operator.write
- Başlık mevcut olduğunda OpenClaw bildirilen kapsam kümesini dikkate alır.
- Başlık mevcut ancak boş olduğunda istek hiçbir operatör kapsamı bildirmez.
- Başlık yoksa normal kimlik taşıyan HTTP API’leri standart operatör varsayılan kapsam kümesine geri döner.
- Gateway kimlik doğrulamalı Plugin HTTP rotaları varsayılan olarak daha dardır:
x-openclaw-scopesyoksa çalışma zamanı kapsamlarıoperator.writekapsamına geri döner. - Tarayıcı kökenli HTTP istekleri, trusted-proxy kimlik doğrulaması başarılı olduktan sonra bile
gateway.controlUi.allowedOriginsdeğerinden (veya bilinçli Host başlığı geri dönüş modundan) geçmek zorundadır.
x-openclaw-scopes değerini açıkça gönderin.
Güvenlik denetim listesi
trusted-proxy kimlik doğrulamasını etkinleştirmeden önce şunları doğrulayın:- Proxy tek yoldur: Gateway bağlantı noktası, proxy’niz dışında her şeye karşı güvenlik duvarıyla kapatılmıştır.
- trustedProxies minimumdur: Tüm alt ağlar değil, yalnızca gerçek proxy IP’leriniz.
- Loopback proxy kaynağı bilinçlidir: trusted-proxy kimlik doğrulaması, aynı ana makinedeki bir proxy için
gateway.auth.trustedProxy.allowLoopbackaçıkça etkinleştirilmedikçe loopback kaynaklı isteklerde kapalı kalacak şekilde başarısız olur. - Proxy başlıkları temizler: Proxy’niz istemcilerden gelen
x-forwarded-*başlıklarının üzerine yazar, ekleme yapmaz. - TLS sonlandırması: Proxy’niz TLS’i işler; kullanıcılar HTTPS üzerinden bağlanır.
- allowedOrigins açıktır: Loopback olmayan Control UI, açık
gateway.controlUi.allowedOriginskullanır. - allowUsers ayarlanmıştır (önerilir): Kimliği doğrulanmış herkese izin vermek yerine bilinen kullanıcılarla sınırlandırın.
- Karışık 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 dışı uzak istemcilerin doğrudan erişememesi için Gateway bağlantı noktasını güvenlik duvarıyla kapalı tutun.
Güvenlik denetimi
openclaw security audit, trusted-proxy kimlik doğrulamasını kritik önem derecesine sahip bir bulgu olarak işaretler. Bu bilinçli bir davranıştır; güvenliği proxy kurulumunuza devrettiğinizi hatırlatır.
Denetim şunları kontrol eder:
- Temel
gateway.trusted_proxy_authuyarısı/kritik hatırlatıcısı - Eksik
trustedProxiesyapılandırması - Eksik
userHeaderyapılandırması - Boş
allowUsers(kimliği doğrulanmış herhangi bir kullanıcıya izin verir) - Aynı ana makine proxy kaynakları için etkin
allowLoopback - Açığa çıkarılmış Control UI yüzeylerinde joker karakterli veya eksik tarayıcı kaynak politikası
Sorun giderme
trusted_proxy_untrusted_source
trusted_proxy_untrusted_source
İstek,
gateway.trustedProxies içindeki bir IP’den gelmedi. Şunları kontrol edin:- Proxy IP’si doğru mu? (Docker container 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
trusted_proxy_loopback_source
OpenClaw, loopback kaynaklı bir trusted-proxy isteğini reddetti.Kontrol edin:
- Proxy
127.0.0.1/::1üzerinden mi bağlanıyor? - Aynı ana makinedeki bir loopback ters proxy ile trusted-proxy kimlik doğrulamasını kullanmaya mı çalışıyorsunuz?
- Proxy üzerinden geçmeyen dahili aynı ana makine istemcileri için token/parola kimlik doğrulamasını tercih edin veya
- Loopback olmayan güvenilir bir proxy adresi üzerinden yönlendirin ve bu IP’yi
gateway.trustedProxiesiçinde tutun veya - Bilinçli olarak aynı ana makinede bir ters proxy kullanıyorsanız
gateway.auth.trustedProxy.allowLoopback = trueayarlayın, loopback adresinigateway.trustedProxiesiçinde tutun ve proxy’nin kimlik başlıklarını temizlediğinden veya üzerine yazdığından emin olun.
trusted_proxy_user_missing
trusted_proxy_user_missing
Kullanıcı başlığı boştu veya eksikti. Şunları kontrol edin:
- Proxy’niz kimlik başlıklarını iletecek şekilde yapılandırılmış mı?
- Başlık 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_*
trusted_proxy_missing_header_*
Gerekli bir başlık mevcut değildi. Şunları kontrol edin:
- Bu belirli başlıklar için proxy yapılandırmanız.
- Başlıkların zincirin bir yerinde temizlenip temizlenmediği.
trusted_proxy_user_not_allowed
trusted_proxy_user_not_allowed
Kullanıcının kimliği doğrulanmış, ancak
allowUsers içinde değil. Kullanıcıyı ekleyin ya da izin listesini kaldırın.trusted_proxy_origin_not_allowed
trusted_proxy_origin_not_allowed
Trusted-proxy kimlik doğrulaması başarılı oldu, ancak tarayıcı
Origin başlığı Control UI kaynak kontrollerinden geçmedi.Kontrol edin:gateway.controlUi.allowedOriginstam tarayıcı kaynağını içeriyor.- Bilinçli olarak herkese izin verme davranışı istemediğiniz sürece joker karakterli kaynaklara güvenmiyorsunuz.
- Host başlığı geri dönüş modunu bilinçli olarak kullanıyorsanız
gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=truebilinçli olarak ayarlanmıştır.
WebSocket still failing
WebSocket still failing
Proxy’nizin şunları yaptığından emin olun:
- WebSocket yükseltmelerini destekler (
Upgrade: websocket,Connection: upgrade). - WebSocket yükseltme isteklerinde kimlik başlıklarını iletir (yalnızca HTTP’de değil).
- WebSocket bağlantıları için ayrı bir kimlik doğrulama yolu yoktur.
Token kimlik doğrulamasından geçiş
Token kimlik doğrulamasından trusted-proxy’ye geçiyorsanız:Configure the proxy
Proxy’nizi kullanıcıların kimliğini doğrulayacak ve başlıkları iletecek şekilde yapılandırın.
İlgili
- Yapılandırma — yapılandırma başvurusu
- Uzak erişim — diğer uzak erişim kalıpları
- Güvenlik — tam güvenlik kılavuzu
- Tailscale — yalnızca tailnet erişimi için daha basit alternatif