DevToolsPlugin

Chrome DevTools에서 개발자 프록시 메시지와 가로채는 요청 및 응답에 대한 정보를 노출합니다. HTTP 요청과 STDIO 통신을 모두 지원합니다.

개발자 프록시 메시지를 보여 주는 개발 도구가 있는 Microsoft Edge의 스크린샷

개발 프록시에서 가로채는 요청 및 응답을 보여 주는 개발 도구가 있는 Microsoft Edge의 스크린샷

구성 예제

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "DevToolsPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "devTools"
    }
  ],
  "devTools": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/devtoolsplugin.schema.json",
    "preferredBrowser": "Edge"
  }
}

구성 속성

재산 묘사 기본값
preferredBrowser Dev Tools를 시작하는 데 사용할 브라우저입니다. 지원되는 값: Edge, EdgeDev, Chrome Edge
port 플러그 인이 DevTools 연결을 수신 대기하는 포트입니다. 0 은 임의의 사용 가능한 포트를 선택합니다. 고정 포트를 게시해야 하는 경우(예: 컨테이너에서 개발 프록시를 실행할 때) 사용 0
launchBrowser Dev Tools를 사용하여 브라우저를 시작할지 여부입니다. false플러그 인이 브라우저를 시작하지 않고 개발자 도구 URL을 대신 기록하면 Microsoft Edge 또는 Google Chrome에서 직접 엽니다. true

명령줄 옵션

없음

설명

플러그 인은 개발자 프록시가 사용하는 IP 주소에서 Dev Tools 연결을 수신 대기합니다. 이 연결은 옵션을 사용하여 --ip-address 설정합니다. 설정하거나 ::설정 0.0.0.0 하면 플러그 인이 모든 인터페이스에서 수신 대기하고 개발자 도구 URL이 을 127.0.0.1가리킵니다. Windows 모든 인터페이스에서 수신 대기하려면 관리자 권한 또는 URL ACL이 필요합니다. 플러그 인이 모든 인터페이스에서 수신 대기할 수 없는 경우 대신 수신 대기 127.0.0.1 하므로 동일한 컴퓨터에서만 Dev Tools를 연결할 수 있습니다.

가로채는 트래픽을 보호하기 위해 플러그 인은 다음과 같은 Dev Tools 연결만 허용합니다.

  • 에서는 개발자 프록시가 시작하거나 로그하는 URL을 사용합니다. URL에는 개발자 프록시가 시작할 때마다 생성하는 임의의 토큰이 포함됩니다.
  • 는 Chrome DevTools 프런트 엔드devtools://devtoolshttp://localhost:9222http://127.0.0.1:9222에서 제공됩니다.

플러그 인은 다른 연결을 403 Forbidden 거부하고 경고를 기록합니다.

컨테이너, 개발 컨테이너 또는 GitHub Codespaces에서 개발 프록시를 실행할 때 플러그 인을 사용하려면 고정 포트로 설정하고 portlaunchBrowser 포트를 컴퓨터로 false게시하거나 전달합니다. 자세한 내용은 컨테이너에서 개발 프록시가 실행되는 경우 요청 검사를 참조하세요.

알려진 문제

개발자 도구가 Windows의 Microsoft Edge에서 열리지 않음

Windows에서 개발 프록시를 사용하고 Microsoft Edge를 사용하여 Dev Tools를 표시하도록 구성합니다. 개발자 프록시를 시작한 후에는 검사기를 시작하지만 Dev Tools가 열리지 않거나 비어 있습니다.

이 문제를 해결하려면 다음을 수행합니다.

  1. Microsoft Edge 열기
  2. 설정 이동
  3. 시스템 열기 및 성능
  4. 시작 부스트 사용 안 함
  5. 모든 Microsoft Edge 창 및 프로세스 닫기
  6. 개발 프록시 시작

STDIO 지원

명령과 함께 stdioDevToolsPlugin을 사용하는 경우 Chrome DevTools에서 STDIN/STDOUT/STDERR 통신을 검사할 수 있습니다.

  • URL이 포함된 stdio://command-name 메시지 표시
  • 요청이 메서드로 표시됨 STDIN
  • 응답이 (200 상태) 또는 STDOUT (500 상태)로 STDERR 표시됨
  • 메시지 본문은 해당하는 경우 JSON으로 형식이 지정됩니다.
  • 타이밍 정보는 각 요청/응답 쌍에 사용할 수 있습니다.

STDIO에 대한 구성 예제

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "DevToolsPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "devTools"
    }
  ],
  "devTools": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/devtoolsplugin.schema.json",
    "preferredBrowser": "Edge"
  }
}

다음을 실행합니다.

devproxy stdio npx -y @modelcontextprotocol/server-filesystem

다음 단계