백그라운드에서 대용량 파일을 다운로드하는 애플리케이션을 작성하고 있습니다. 모든 클라이언트는 로컬로 로그인하거나 VPN을 통해 로그인합니다. 로컬로 로그인할 때는 다운로드 속도를 조절하고 싶지 않습니다. 하지만 사용자가 VPN을 통해 연결된 경우 다운로드를 10KBps로 제한하고 싶습니다. IP 주소 범위별로 이러한 사용자를 구분할 수 있습니다.
AIR 애플리케이션이므로 서버 자체(IIS 6) 또는 웹 서비스(asp.net/C#)에서 스로틀링을 할 수 있으므로 서버 측을 통해 스로틀링할 것입니다.
IIS 6을 통한 스로틀링은 잘 작동하는 것 같지만 전체 웹 사이트에서 수행해야하는 것 같습니다. IP를 통해 이 작업을 수행할 수 있는 방법이 있나요? 아니면 .NET에서 이 기능을 설정해야 하나요?
제 첫 번째 생각은 이것입니다. 효과가 있을지는 모르겠지만 시도하는 데 몇 분 밖에 걸리지 않을 것입니다.
동일한 서버에 두 개의 IIS 웹 사이트를 만듭니다. 첫 번째 사이트는 공용 IP에 바인딩되지만 두 번째 사이트는 개인 IP에 바인딩됩니다. 둘 다 파일 시스템의 동일한 폴더를 가리킵니다.
VPN 사용자는 개인 IP를 통해 액세스하게 되므로, 해당 사이트에 VPN 사용자에게만 영향을 미치는 <사이트 전체> 규칙을 설정할 수 있습니다. 이 방법은 대역폭 스로틀링을 포함한 거의 모든 IIS6 설정에서 작동합니다.
적어도 시도해 볼 만한 가치가 있습니다.
-- 편집: 시도해보니 완벽하게 작동했습니다.