리버스 프록시
tinyauth는 기본적으로 리버스 프록시 뒤에서 운영되도록 설계됐어요. 클라이언트의 실제 IP 주소와 프로토콜을 올바르게 식별하기 위해 server.trust_proxy를 설정해야 해요.
server: trust_proxy: trueserver.trust_proxy: 리버스 프록시 헤더를 신뢰할지 여부를 설정해요. 기본값은false예요.true: 모든 프록시 헤더를 신뢰해요. 완전히 신뢰할 수 있는 네트워크에서만 사용하세요.false: 프록시 헤더를 신뢰하지 않아요.'127.0.0.1': 지정된 IP 주소의 프록시만 신뢰해요.1또는2: 지정된 홉 수만큼의 프록시를 신뢰해요.
Nginx
섹션 제목: “Nginx”Nginx를 리버스 프록시로 사용하는 경우의 설정 예시예요.
프로덕션 환경에서는 server.trust_proxy에 프록시의 IP 주소를 직접 지정하는 것을 권장해요.
server: # Nginx가 같은 호스트에서 실행되는 경우 trust_proxy: '127.0.0.1'server { listen 443 ssl; server_name auth.example.com;
ssl_certificate /etc/nginx/ssl/cert.pem; ssl_certificate_key /etc/nginx/ssl/key.pem;
location / { proxy_pass http://127.0.0.1:8080; 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; }}Caddy
섹션 제목: “Caddy”Caddy를 리버스 프록시로 사용하는 경우의 설정 예시예요. Caddy는 자동으로 HTTPS 인증서를 발급하고 X-Forwarded-* 헤더를 설정해 줘요.
Docker 네트워크에서 Caddy가 실행되는 경우, Caddy 컨테이너의 IP 대역을 지정해요.
server: # Docker 브릿지 네트워크 대역 trust_proxy: '172.18.0.0/16'# Caddyfileauth.example.com { reverse_proxy localhost:8080}