web_fetch laddar ned) hämtas av tjänsten linked-url-proxy i varje Ayakaleaf Pro-pod. Den nekar adresser som inte är offentliga, så användare kan inte läsa interna tjänster genom den. Funktionen och dess inställningar beskrivs i Extern URL.
Konfiguration
30-config.yaml (additions)
Vad som blockeras på Kubernetes
Proxyn nekar alla adresser som inte är offentliga unicast-adresser: loopback, link-local (inklusive molnets metadataadress169.254.169.254), de privata intervallen 10.0.0.0/8, 172.16.0.0/12 och 192.168.0.0/16, carrier-grade NAT-intervallet 100.64.0.0/10 samt deras IPv6-motsvarigheter. Pod- och Service-nätverk i dessa intervall, vilket är standard för kubeadm, flannel, Calico och de flesta hanterade kluster, blockeras därför utan någon inställning, och detsamma gäller interna klusternamn som redis eller git-bridge som pekar på dem.
Offentliga adresser tillåts. Om dina noder eller din lastbalanserare har offentliga adresser lägger du till dem i OVERLEAF_LINKED_URL_BLOCKED_NETWORKS (separerade med mellanslag eller kommatecken), så att användare inte kan hämta NodePorts eller en statussida genom dem.
När OVERLEAF_LINKED_URL_OUTBOUND_PROXY är satt slås värdnamn upp av proxyn, så endast URL:er som innehåller en IP-adress kontrolleras: proxyn måste själv blockera dina interna nätverk.
Flera repliker
Inget extra: varje pod hämtar med sin egen linked-url-proxy och samma inställningar.Testat på Kubernetes
På Kubernetes 1.37 med tre repliker, flannels podnätverk10.244.0.0/16 och kubeadms tjänstenätverk 10.96.0.0/12 nekade proxyn nedladdningar från en Services ClusterIP, från de interna klusternamnen redis, garage och overleaf-1.overleaf-hl.overleaf.svc.cluster.local och från en nods adress, utan någon OVERLEAF_LINKED_URL_BLOCKED_NETWORKS. Våra end-to-end-tester klarar sig också för att neka loopback och molnets metadataadress via Import API, och för att AI-assistenten bara läser de sidor som OVERLEAF_LINKED_URL_ALLOWED_RESOURCES tillåter.
