Tinyproxy 1.11.2에서 Listen은 클라이언트 연결을 받을 주소를 선택하고, Allow는 접근할 수 있는 클라이언트를 제어합니다. Bind는 외부 연결에 쓸 주소를 선택합니다.

리스너와 클라이언트 규칙

패키지의 서비스 사용자, 로그, PID 파일 설정은 유지하세요. 리스너와 접근 항목을 원하는 정책으로 바꿉니다.

Port 8888
Listen 192.0.2.10
Allow 198.51.100.27/32
ConnectPort 443

문서용 주소 두 개를 모두 바꾸세요. 수신 주소는 서버에 속해야 하며 클라이언트 주소는 서버에서 보이는 출발지와 일치해야 합니다. 더 이상 쓰지 않는 허용 범위가 넓은 규칙은 제거하세요.

Allow나 Deny 항목이 없으면 Tinyproxy는 모든 클라이언트를 허용합니다. 접근 항목이 생기면 기본 동작은 거부로 바뀌고 규칙 순서도 중요해집니다. 따라서 접근 줄을 모두 지우면 제한적인 기본값으로 돌아가는 대신 접근 정책이 개방됩니다.

ConnectPort 443은 CONNECT를 해당 목적지 포트로 제한합니다. 배포 환경에서 일반 HTTP 요청의 목적지도 제한해야 한다면 별도 제어가 필요합니다.

실행 중인 서비스 확인하기

외부 연결용 Bind 설정은 들어오는 소켓을 제한하지 않습니다. 시작한 뒤 실제 리스너를 확인하세요.

sudo ss -ltnp 'sport = :8888'

두 주소 체계에서 의도치 않은 리스너나 이전 서비스 인스턴스가 없는지 확인하세요.

이 버전에는 설정을 파싱만 하는 -t 스위치가 문서화되어 있지 않습니다. 관리되는 서비스를 중지한 상태에서 포그라운드로 실행하면 시작 오류를 볼 수 있습니다.

sudo tinyproxy -d -c /etc/tinyproxy/tinyproxy.conf

관리되는 서비스를 다시 시작하기 전에 포그라운드 프로세스를 멈추세요. 허용된 출발지와 통제하에 있는 거부되어야 할 다른 출발지에서 요청을 테스트하세요. 목적지 로그는 거부된 요청이 전달되지 않았는지 확인하는 데 도움이 됩니다.

관련 글