다음을 통해 공유


KestrelServerOptions 클래스

정의

Kestrel 관련 기능의 프로그래밍 방식 구성을 제공합니다.

public ref class KestrelServerOptions
public class KestrelServerOptions
type KestrelServerOptions = class
Public Class KestrelServerOptions
상속
KestrelServerOptions

생성자

KestrelServerOptions()

Kestrel 관련 기능의 프로그래밍 방식 구성을 제공합니다.

속성

AddServerHeader

헤더를 각 응답에 Server 포함할지 여부를 가져오거나 설정합니다.

AllowAlternateSchemes

HTTP/2 및 HTTP/3 요청의 :scheme 필드 유효성을 검사하는 방법을 제어하는 값을 가져오거나 설정합니다.

그렇다면 false HTTP/2 및 HTTP/3 요청에 대한 ':scheme' 필드가 전송과 정확히 일치해야 합니다(예: TLS 연결의 경우 https, 비 TLS의 경우 http). 그렇다면 true HTTP/2 및 HTTP/3 요청에 대한 ':scheme' 필드를 대체 값으로 설정할 수 있으며 이는 'HttpRequest.Scheme'에 의해 반영됩니다. 스키마는 에 따라 https://datatracker.ietf.org/doc/html/rfc3986/#section-3.1유효해야 합니다. 신뢰할 수 있는 프록시로 작업할 때만 사용하도록 설정합니다. 대체 프로토콜에서 변환하는 프록시와 같은 시나리오에서 사용할 수 있습니다. https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2.3을 참조하세요. 이를 사용하도록 설정하는 애플리케이션은 사용하기 전에 필요한 스키마의 유효성을 검사해야 합니다.

AllowHostHeaderOverride

HTTP/1.x에서 요청 대상이 절대 형식인 경우(RFC 9112 섹션 3.2.2 참조)

GET http://www.example.com/path/to/index.html HTTP/1.1

호스트 헤더가 중복됩니다. 실제로 RFC는

원본 서버가 절대 형식의 request-target을 사용하여 요청을 수신하는 경우 원본 서버는 수신된 호스트 헤더 필드(있는 경우)를 무시하고 대신 request-target의 호스트 정보를 사용해야 합니다.

그러나 불일치가 스푸핑 시도를 나타낼 수 있으므로 요청 대상 및 호스트 헤더가 일치하는지 여부를 검사 것이 여전히 합리적입니다. 이 속성을 true로 설정하면 해당 검사 무시되고 요청 대상의 값으로 호스트 헤더를 무조건 덮어씁니다.

AllowResponseHeaderCompression

응답 헤더의 동적 압축이 허용되는지 여부를 제어하는 값을 가져오거나 설정합니다. HPack 동적 헤더 압축의 보안 고려 사항에 대한 자세한 내용은 를 참조하세요 https://tools.ietf.org/html/rfc7541#section-7.

AllowSynchronousIO

및 에 대해 동기 IO가 허용되는 Request 지 여부를 제어하는 값을 가져오거나 설정합니다. Response

ApplicationSchedulingMode

Kestrel이 사용자 콜백을 예약하는 방법을 결정하는 값을 가져오거나 설정합니다.

ApplicationServices

수신 대기 옵션 콜백을 사용하여 시작하는 동안 애플리케이션에서 등록한 서비스를 resolve 사용할 수 있습니다. 일반적으로 UseKestrel()에 의해 초기화됩니다.

ConfigurationLoader

서버 시작 시 엔드포인트가 로드되는 구성 원본을 제공합니다. 기본값은 null입니다.

DisableStringReuse

구체화된 문자열 값이 요청 간에 재사용되는지 여부를 제어하는 값을 가져오거나 설정합니다. 일치하는 경우 또는 문자열이 항상 다시 할당되는 경우 입니다.

EnableAltSvc
사용되지 않음.

HTTP/2에서 "Alt-Svc" 헤더를 반환할지 또는 HTTP/3에 대해 더 낮은 응답을 반환할지 여부를 제어합니다.

Limits

요청 제한 옵션에 대한 액세스를 제공합니다.

RequestHeaderEncodingSelector

지정된 요청 헤더 이름의 값을 디코딩하거나 기본 UTF8Encoding을 사용하는 를 반환 Encoding 하는 콜백을 가져오거나 null 설정합니다.

ResponseHeaderEncodingSelector

지정된 응답 헤더 또는 트레일러 이름의 값을 인코딩하거나 기본 ASCIIEncoding을 사용하는 를 반환 Encoding 하는 콜백을 가져오거나 null 설정합니다.

메서드

Configure()

Kestrel을 설정하기 위한 구성 로더를 만듭니다.

Configure(IConfiguration)

입력으로 IConfiguration을 사용하는 Kestrel를 설정하기 위한 구성 로더를 만듭니다. 이 구성의 범위는 Kestrel의 구성 섹션으로 지정되어야 합니다. 를 호출 Configure(IConfiguration, Boolean) 하여 동적 엔드포인트 바인딩 업데이트를 사용하도록 설정합니다.

Configure(IConfiguration, Boolean)

입력으로 IConfiguration을 사용하는 Kestrel를 설정하기 위한 구성 로더를 만듭니다. 이 구성의 범위는 Kestrel의 구성 섹션으로 지정되어야 합니다.

ConfigureEndpointDefaults(Action<ListenOptions>)

새로 만든 각 엔드포인트에 대해 실행할 구성 작업을 지정합니다. 이를 다시 호출하면 이전 작업이 대체됩니다.

ConfigureHttpsDefaults(Action<HttpsConnectionAdapterOptions>)

새로 만든 각 https 엔드포인트에 대해 실행할 구성 작업을 지정합니다. 이를 다시 호출하면 이전 작업이 대체됩니다.

Listen(EndPoint)

지정된 엔드포인트에 바인딩합니다.

Listen(EndPoint, Action<ListenOptions>)

지정된 엔드포인트에 바인딩합니다. 콜백은 엔드포인트별 설정을 구성합니다.

Listen(IPAddress, Int32)

지정된 IP 주소 및 포트에 바인딩합니다.

Listen(IPAddress, Int32, Action<ListenOptions>)

지정된 IP 주소 및 포트에 바인딩합니다. 콜백은 엔드포인트별 설정을 구성합니다.

Listen(IPEndPoint)

지정된 IP 엔드포인트에 바인딩합니다.

Listen(IPEndPoint, Action<ListenOptions>)

지정된 IP 주소 및 포트에 바인딩합니다. 콜백은 엔드포인트별 설정을 구성합니다.

ListenAnyIP(Int32)

IPv6 [::]을 사용하여 모든 IP에서 수신 대기하거나 IPv6이 지원되지 않는 경우 IPv4 0.0.0.0을 사용합니다.

ListenAnyIP(Int32, Action<ListenOptions>)

IPv6 [::]을 사용하여 모든 IP에서 수신 대기하거나 IPv6이 지원되지 않는 경우 IPv4 0.0.0.0을 사용합니다.

ListenHandle(UInt64)

소켓 파일 설명자를 엽니다.

ListenHandle(UInt64, Action<ListenOptions>)

소켓 파일 설명자를 엽니다. 콜백은 엔드포인트별 설정을 구성합니다.

ListenLocalhost(Int32)

지정된 포트를 사용하여 ::1 및 127.0.0.1에서 수신 대기합니다. 0을 지정하여 동적 포트를 요청하는 것은 이 유형의 엔드포인트에서 지원되지 않습니다.

ListenLocalhost(Int32, Action<ListenOptions>)

지정된 포트를 사용하여 ::1 및 127.0.0.1에서 수신 대기합니다. 0을 지정하여 동적 포트를 요청하는 것은 이 유형의 엔드포인트에서 지원되지 않습니다.

ListenNamedPipe(String)

지정된 명명된 파이프에 바인딩합니다.

ListenNamedPipe(String, Action<ListenOptions>)

지정된 명명된 파이프에 바인딩합니다. 콜백을 지정하여 엔드포인트별 설정을 구성합니다.

ListenUnixSocket(String)

지정된 Unix 도메인 소켓 경로에 바인딩합니다.

ListenUnixSocket(String, Action<ListenOptions>)

지정된 Unix 도메인 소켓 경로에 바인딩합니다. 콜백을 지정하여 엔드포인트별 설정을 구성합니다.

확장 메서드

UseSystemd(KestrelServerOptions)

사용 가능한 경우 시스템 소켓 기반 활성화 논리에 의해 초기화된 파일 설명자(SD_LISTEN_FDS_START 시작)를 엽니다.

UseSystemd(KestrelServerOptions, Action<ListenOptions>)

사용 가능한 경우 시스템 소켓 기반 활성화 논리에 의해 초기화된 파일 설명자(SD_LISTEN_FDS_START 시작)를 엽니다. 콜백을 지정하여 엔드포인트별 설정을 구성합니다.

적용 대상