Fluxheim/문서/Configuration Basics

Configuration Basics

Fluxheim은 TOML을 사용합니다. 알 수 없는 필드는 거부되므로 철자 실수는 재시작 전에 실패합니다.

기본 형태

[server]
listen = ["0.0.0.0:8080"]
default_vhost = "site"

[[vhosts]]
name = "site"
hosts = ["example.com"]

multi-tenant 배포에서는 [server.host_routing].strict = true를 활성화하십시오. host identity가 없거나 잘못되면 400, 알 수 없는 host는 default site로 전달되지 않고 421을 반환합니다.

config 구성 방식

영역포함되는 것
serverListeners, global limits, trusted proxy handling, and redirects.
tlsglobal TLS backend 및 compatibility policy.
cacheProcess-wide cache defaults and storage tiers.
vhostsHostnames, routes, web roots, proxy settings, PHP, TLS, and access policy.
metrics운영 가시성을 위한 Prometheus 및 export listener.

route 형태

[[vhosts.routes]]
name = "app"
path_prefix = "/app/"
methods = ["GET", "HEAD", "POST"]
max_request_body_bytes = "16MiB"

[vhosts.routes.proxy]
upstreams = ["127.0.0.1:3000"]

route에는 matcher 하나와 action 하나가 있습니다. exact path가 먼저 이기고, 그다음 longest prefix, regex support가 켜진 경우 regex route, 마지막으로 fallback route가 적용됩니다.

HTTP 응답 보안

HTTP 응답 보안 프로필은 선택 사항입니다. baseline으로 시작하세요. 모든 스크립트, 글꼴, 이미지, 로그인 흐름 및 포함된 리소스를 테스트한 후에만 교차 출처 격리를 사용하세요.

[headers.response.hardening]
profile = "baseline"
프로필기능
off옵트인 강화 헤더를 비활성화된 상태로 유지합니다.
baseline대부분의 사이트에 적합한 보수적인 브라우저 격리 및 리소스 정책 기본값을 추가합니다.
cross-origin-isolated모든 외부 종속성을 테스트한 애플리케이션에 대해 엄격한 원본 간 격리를 활성화합니다.

두 프로필 모두 HSTS 또는 CSP를 활성화하지 않습니다. 실제 사이트에서 테스트한 후 별도로 구성합니다.

표준 기반 응답 메타데이터

응답 메타데이터는 기본적으로 비활성화되어 있습니다. 필요한 항목만 활성화하십시오. Fluxheim은 캐시 키, 백엔드 주소, DNS 이름 또는 원본 오류 내용을 노출하지 않고 실제 캐시 결과, 프록시 장애 및 최종 응답 바이트에서 값을 생성합니다.

[headers.response.metadata]
identifier = "edge-gateway"
cache_status = true
proxy_status = true
content_digest = true
repr_digest = true
항목보고 내용
Cache-Status적중, 미스, 만료 응답 전달, 재검증, 만료 및 우회와 같은 RFC 9211 캐시 결과를 보고합니다.
Proxy-StatusFluxheim이 생성한 장애에 대해 RFC 9209의 제한된 분류 정보를 보고합니다.
Content-Digest압축 후 최종 HTTP 메시지 본문에 대한 RFC 9530 SHA-256 값입니다.
Repr-DigestFluxheim이 선택된 표현 전체를 보유하는 경우에만 SHA-256 값을 제공합니다.

라이브 스냅샷 및 롤백

인증된 스냅샷은 검증된 후보를 게시하고, 라이브 라우터를 교체하고, 일반적인 라우팅 전용 배포를 다시 시작하지 않고도 롤백할 수 있습니다. 각 요청은 처음부터 끝까지 하나의 라우터 세대에 유지됩니다.

  • 스냅샷 저장소를 전용 개인 디렉터리에 보관하세요. 기존의 비공개 디렉토리와 파일 시스템 루트는 거부됩니다.
  • 백그라운드 로드 밸런서 상태 또는 검색 서비스가 활성화된 경우 프로세스 업그레이드를 사용하십시오.
  • 게시 또는 롤백 후 스냅샷 무결성 검사를 실행하고 선택한 세대가 다시 시작해도 유지되는지 확인합니다.
전체 스냅샷 운영 규약 읽기

안전한 습관

  • Run fluxheim --check-config before reloads.
  • 사이트 또는 애플리케이션 경계마다 하나의 vhost를 사용하세요.
  • 비밀 값은 공개 문서가 아니라 파일, 환경 변수, 컨테이너 secret에 보관하세요.
  • config file과 기존의 모든 상위 directory를 신뢰할 수 있는 소유권 아래 두고 group이나 다른 user가 쓸 수 없게 하십시오.
  • TLS, listener, stream, UDP, ACME, cache purge, tracing 또는 managed PHP-FPM process 설정이 바뀌면 process를 교체하십시오. 일반 routing 및 request-time policy는 snapshot reload를 사용할 수 있습니다.
  • upload와 비용이 큰 application path에는 route-level limit을 사용하세요.
  • admin 및 metrics listener는 private로 유지하세요.
한국어