ProxyCfg.exe 프록시 구성 도구
Important
ProxyCfg.exe
는 Windows Vista 및 Windows Server 2008 이후 더 이상 사용되지 않습니다. Netsh.exe
대체됩니다(Netsh.exe 명령 참조).
이 항목에서는 WinHTTP(Microsoft Windows HTTP 서비스) 프록시 구성 도구ProxyCfg.exe
의 사용에 대해 설명합니다.
WinHTTP(Microsoft Windows HTTP 서비스)를 사용하여 프록시를 통해 HTTP 및 HTTPS(보안 하이퍼텍스트 전송 프로토콜) 서버에 액세스하는 방법에는 두 가지가 있습니다. 먼저 WinHTTP 애플리케이션 내에서 프록시 설정을 지정할 수 있습니다. 둘째, %windir%\system32 디렉터리에 있는 프록시 구성 유틸리티를 사용하여 애플리케이션 외부에서 기본 프록시 설정을 지정할 수 있습니다.
애플리케이션 또는 스크립트 내에서 프록시 데이터를 프로그래밍 방식으로 설정할 수 있습니다. WinHTTP API를 사용하여 애플리케이션을 작성하는 경우 다음 두 가지 기술 중 하나를 사용하여 프록시 설정을 변경합니다.
WinHttpOpen 함수를 사용합니다. 두 번째 매개 변수에 액세스 형식, 세 번째 매개 변수의 프록시 이름 및 네 번째 매개 변수의 바이패스 목록을 지정합니다. 다음 예제에서는 WinHttpOpen 함수를 사용하여 프록시 데이터를 설정하는 방법을 보여줍니다.
hSession = WinHttpOpen( L"WinHTTP Example/1.0", WINHTTP_ACCESS_TYPE_NAMED_PROXY, L"proxy_name", L"<local>", 0);
WinHttpSetOption 함수를 사용합니다. WINHTTP_OPTION_PROXY 플래그를 사용하면 WINHTTP_PROXY_INFO 구조로 프록시 설정을 지정할 수 있습니다. 다음 예제 코드에서는 WinHttpSetOption 함수를 사용하여 프록시 데이터를 설정하는 방법을 보여 줍니다.
WINHTTP_PROXY_INFO proxyInfo; proxyInfo.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY; proxyInfo.lpszProxy = L"proxy_name"; proxyInfo.lpszProxyBypass = L"<local>"; // Set the proxy information for this session. WinHttpSetOption( hSession, WINHTTP_OPTION_PROXY, &proxyInfo, sizeof(proxyInfo));
WinHttpRequest 개체를 사용하여 스크립트 또는 애플리케이션을 작성하는 경우 다음 기술을 사용하여 프록시 설정을 변경합니다.
SetProxy 메서드를 사용합니다. 첫 번째 매개 변수의 액세스 형식, 두 번째 매개 변수의 프록시 이름 및 세 번째 매개 변수의 바이패스 목록을 지정합니다. 다음 예제에서는 스크립트에서 SetProxy 메서드를 사용하여 프록시 데이터를 설정하는 방법을 보여줍니다.
WinHttpReq.SetProxy( HTTPREQUEST_PROXYSETTING_PROXY, "proxy_server:80", "*.microsoft.com");
기본 설정을 지정하고 SetProxy 메서드 또는 WinHttpSetOption 함수를 사용할 필요가 없도록 하려면 프록시 구성 유틸리티를 사용합니다. 이 유틸리티를 사용하면 애플리케이션이 직접, 프록시를 통해 또는 바이패스 목록을 지정하여 직접 및 프록시 액세스의 조합을 통해 네트워크에 액세스하도록 지정할 수 있습니다. WinHTTP API를 사용하는 경우 프록시 구성 도구는 WINHTTP_ACCESS_TYPE_DEFAULT 플래그를 WinHttpOpen API에 전달할 때만 설정을 결정합니다. WinHttpRequest 개체는 기본적으로 프록시 구성 도구 설정을 사용합니다.
WinHTTP에 대한 프록시 설정은 Microsoft Internet Explorer의 프록시 설정이 아닙니다. Microsoft Windows 제어판 WinHTTP에 대한 프록시 설정을 구성할 수 없습니다. WinHTTP 프록시 구성 유틸리티를 사용하면 Internet Explorer에 사용하는 설정이 변경되지 않습니다.
참고 항목
WinHTTP를 사용하여 HTTP 요청을 열고 보내려고 하면 프록시 설정이 올바르지 않으면 오류가 발생합니다.
명령줄 매개 변수
다음 표에서는 'ProxyCfg.exe' 도구에서 사용할 수 있는 명령줄 매개 변수를 나열합니다.
매개 변수 | Description |
---|---|
없음 | 매개 변수를 지정하지 않으면 현재 WinHTTP 프록시 설정이 표시됩니다. |
? | 도움말 정보가 표시됩니다. |
d | WinHTTP 애플리케이션이 프록시 없이 네트워크에 직접 액세스하게 지정합니다. |
p | 프록시 서버를 지정합니다. 프록시 없이 액세스하는 서버의 선택적 목록을 지정할 수도 있습니다. |
u | WinHTTP 애플리케이션이 Internet Explorer에 대한 현재 사용자의 프록시 설정을 사용하도록 지정합니다. Internet Explorer에서 프록시 설정을 자동으로 검색하거나 자동 구성 URL을 사용하여 프록시 정보를 설정하는 경우에는 이 매개 변수가 작동하지 않습니다. |
i | WinHTTP 애플리케이션이 Internet Explorer에 대한 현재 사용자의 프록시 설정을 사용하도록 지정합니다. 이는 ProxyCfg.exe가 이전에 사용되지 않은 경우에만 작동합니다. ProxyCfg.exe가 설치된 경우 "u" 명령줄 매개 변수가 수동 설정을 사용하도록 지정합니다. Internet Explorer에서 프록시 설정을 자동으로 검색하거나 자동 구성 URL을 사용하여 프록시 정보를 설정하는 경우에는 이 매개 변수가 작동하지 않습니다. |
공백으로 구분된 문자열에서 프록시를 지정할 수 있습니다. 프록시 목록에는 프록시에 액세스하는 데 사용되는 포트 번호가 포함될 수 있습니다. 특정 프로토콜에 대한 프록시를 나열하려면 문자열이 protocol>=https://< proxy_name> 형식<을 따라야 합니다. 유효한 프로토콜은 HTTP 및 HTTPS입니다. 예를 들어 HTTP 프록시를 나열하려면 유효한 문자열은 http=https://http_proxy_name:80입니다. 여기서 http_proxy_name 프록시 서버의 이름이고 80은 프록시에 액세스하는 데 사용해야 하는 포트 번호입니다. 프록시가 해당 프로토콜에 대한 기본 포트 번호를 사용하는 경우 포트 번호를 생략할 수 있습니다. 프록시 이름 자체가 나열된 경우 지정된 프록시가 없는 모든 프로토콜의 기본 프록시로 사용할 수 있습니다. 예를 들어 http=https://http_proxy other_proxy 모든 HTTP 작업에 http_proxy 사용하는 반면 HTTPS 프로토콜은 other_proxy 프록시를 사용합니다.
프록시 바이패스 목록에서 로컬로 알려진 호스트 이름 또는 IP 주소를 나열할 수 있습니다. 이 목록에는 지정된 패턴에 맞는 주소(예: "*.microsoft.com" 또는 "*.org")에 대해 애플리케이션이 프록시 서버를 우회하게 하는 "*"와 같은 야생 카드 포함될 수 있습니다. 와일드카드 문자는 목록에서 가장 왼쪽에 있는 문자여야 합니다. 예를 들어 "aaa.*"는 지원되지 않습니다. 여러 주소와 호스트 이름을 나열하려면 프록시 바이패스 문자열에서 빈 공백 또는 세미콜론으로 구분합니다. 로컬> 매크로를 <지정하는 경우 함수는 마침표가 포함되지 않은 호스트 이름을 무시합니다.
Warning
Proxycfg.exe를 실행한 후에는 이전 프록시 설정을 복원할 수 없습니다. 그러나 프록시 설정을 완전히 제거할 수 있습니다.
사용
프록시 구성 도구를 사용하려면 명령 프롬프트 창을 열고 적절한 명령줄 매개 변수를 사용하여 프록시 구성 유틸리티를 실행합니다. 다음 섹션에서는 구문 예제를 제공합니다.
예제 구문
예제 1: 외부 리소스에 대해서만 프록시 사용
다음은 Proxycfg.exe에 가장 일반적으로 사용되는 것입니다. 이 명령은 마침표가 포함되지 않은 호스트 이름을 제외하고 HTTP 서버와 HTTPS 서버가 모두 "proxy_server"라는 프록시 서버를 통해 액세스되도록 지정합니다.
proxycfg -p proxy_server "<local>"
예제 2: 모든 리소스에 프록시 사용
다음 예제에서는 "proxy_server"라는 프록시 서버를 통해 HTTP 및 HTTPS 서버에 모두 액세스되도록 지정합니다. 바이패스 목록이 지정되지 않았습니다.
proxycfg -p proxy_server
예제 3: 보안 리소스에 다른 프록시 사용
다음 예제에서는 http_proxy 프록시를 통해 HTTP 서버에 액세스하고 httpS 서버는 https_proxy 통해 액세스되도록 지정합니다. 로컬 인트라넷 사이트 및 *.microsoft.com 있는 모든 사이트는 프록시를 무시합니다기본.
proxycfg -p "http=http_proxy https=https_proxy" "<local>;*.microsoft.com"
ProxyCfg.exe 제거
프록시 구성 도구를 사용한 후에는 원래 프록시 설정을 복원할 수 없습니다. 그러나 필요한 경우 유틸리티에서 만드는 레지스트리 설정을 제거할 수 있습니다. ProxyCfg.exe에서 만드는 레지스트리 항목을 제거하려면 다음 레지스트리 키에서 WinHttp설정 값을 삭제해야 합니다.
\HKEY_LOCAL_MACHINE SOFTWARE\Microsoft\Windows\CurrentVersion\Internet 설정\커넥트ions\WinHttp설정
WinHttp설정 값을 삭제하면 모든 프록시 구성이 제거됩니다.
ProxyCfg.exe 및 인증
프록시 구성 유틸리티는 기본 인증 정책을 설정합니다. 신뢰할 수 없는 호스트를 사용하여 NTLM 인증을 수행해서는 안 되므로 기본적으로 NTLM 인증은 프록시 바이패스 목록의 호스트에서만 자동으로 수행됩니다. 프록시가 없는 경우에도 ProxyCfg.exe를 사용하여 NTLM 인증을 수행하기 위해 신뢰할 수 있는 호스트의 바이패스 목록을 지정할 수 있습니다. 프록시 이름은 이 목적을 위해 ProxyCfg.exe를 사용할 때 필요하지만 실제 프록시 이름 대신 유효한 문자열을 사용할 수 있습니다.
자동 로그온 정책에 대한 자세한 내용은 자동 로그온 정책을 참조하세요.