애플리케이션 액세스 문제 해결
Teleport로 보호되는 애플리케이션에 대한 액세스의 일반적인 문제와 해결 방법을 설명합니다.
이 섹션은 Teleport로 애플리케이션 접근을 관리할 때 발생할 수 있는 일반적인 문제와 이를 우회하거나 해결하는 방법을 설명합니다. 애플리케이션 접근 불가 # 애플리케이션 접근을 방해하는 가장 일반적인 문제는 CSRF(Cross-Site Request Forgery) 또는 CORS(Cross-Origin Resource Sharing) 오류와 관련이 있습니다. CSRF(Cross-Site Request Forgery)는 인증된 사용자의 ID를 사용하여 사용자가 모르는 사이에 작업을 수행하는 공격 유형입니다. 예를 들어, CSRF 공격은 사용자의 자격 증명으로 위조된 요청을 발행하여 자금을 이체하거나, 비밀번호를 변경하거나, 구매를 할 수 있습니다. 브라우저와 애플리케이션에는 이러한 유형의 공격을 방지하기 위한 검사가 있습니다. 그러나 이 검사는 특정 조건에서 합법적인 요청도 차단할 수 있습니다. 증상 # 브라우저가 보안 쿠키를 생성하지 못하거나 이전에 생성된 보안 쿠키로 로그인을 인증하지 못하는 경우 다음 오류가 표시될 수 있습니다: 잘못되었거나 누락된 CSRF 토큰 이 오류는 광고 차단 또는 스크립트 차단 확장 프로그램이나 브라우저 자체로 인해 발생할 수 있습니다. Teleport를 통한 애플리케이션 접근의 경우, WebSocket을 광범위하게 사용하는 Grafana 및 ArgoCD와 같은 애플리케이션과 크로스 사이트 스크립팅 제한으로 인해 트래픽이 명시적으로 허용되어야 하는 브라우저에서 이 오류가 가장 자주 발생할 수 있습니다. CSRF(Cross-Site Request Forgery) 또는 CORS(Cross-Origin Resource Sharing) 문제는 일반적으로 애플리케이션 기능 상실, 트래픽이 허용되지 않고 있음을 나타내는 애플리케이션 자체의 오류, 또는 CORS 또는 CSRF 오류를 나타내는 애플리케이션 로그를 초래합니다. 대부분의 경우 Teleport 구성에서 각 애플리케이션에 대한 Origin 및 Host 헤더에 대한 명시적인 rewrite 설정을 추가하여 이러한 유형의 문제를 해결할 수 있습니다. 해결 방법 1: Application Service 구성 파일 # /etc/teleport.yaml 에 정적으로 구성된 앱을 사용하는 경우 CSRF 또는 CORS 문제를 해결하려면: 텍스트 편집기에서 애플리케이션 구성이 포함된 /etc/teleport.yaml 파일을 엽니다. 다음 grafana 예제와 유사한 rewrite.headers 섹션을 추가합니다: app_service: enabled: true apps: - name: grafana uri: http://localhost:3000 public_addr: grafana.teleport.example.com rewrite: headers: - "Origin: https://grafana.teleport.example.com" # "https://"가 앞에 붙은 Teleport 애플리케이션 서브도메인 - "Host: grafana.teleport.example.c
