go-chi의 하위 경로에 대해 다른 미들웨어 설정
Go 언어의 웹 프레임워크인 go-chi에서는 하위 경로에 대해 서로 다른 미들웨어를 설정하는 것이 일반적인 요구 사항입니다. 미들웨어는 HTTP 요청과 응답을 처리하고 요청이 대상 프로세서에 도달하기 전후에 몇 가지 추가 작업을 수행할 수 있는 기능입니다. 다양한 하위 경로에 대해 서로 다른 미들웨어를 설정함으로써 비즈니스 요구에 따라 각 하위 경로를 개인화할 수 있습니다. 이 기사에서는 보다 유연한 라우팅 처리를 달성하기 위해 go-chi의 하위 경로에 대해 다양한 미들웨어를 유연하게 설정하는 방법을 소개합니다.
질문 내용
mustBeSecure
을 사용하여 구성을 통해 비활성화할 수 있는 프록시 서버가 있습니다. 나는 이 프록시가 특정 하위 도메인인 "/application/health"에서 다르게 동작하여 항상 안전하지 않게 되기를 원합니다. 지금까지 시도한 모든 변경 사항은 실패했습니다. 여전히 프록시를 사용하지만 인증이 필요하지 않은 "/application/health"에 대해 다른 그룹을 구성하는 방법이 있습니까?
요청에 따라 다음은 setProxy()의 예입니다.
router := chi.NewRouter() router.Route("/", func(r chi.Router) { r.Use(chimw.Recoverer) router.Use(hlog.NewHandler(log.Logger)) if mustBeSecure() { r.Use(keycloak.MustStandardKeycloakAuth("url")) } setProxy(r) r.Group(func(r chi.Router) { r.Get("/health", handleHealth()) }) }) return http.ListenAndServe("0.0.0.0", router)
해결 방법
이것을 시도하고 계시리라 믿습니다.
- 모든
/application
경로에 라우터를 사용하세요 - 성명
GET /health
- 다른 모든 경로에 대한 그룹 만들기(
/application
에서) - 조건부 미들웨어 적용
이해를 돕기 위해 코드를 약간 단순화했습니다. setProxy
기능은 계속 사용할 수 있습니다.
위 내용은 go-chi의 하위 경로에 대해 다른 미들웨어 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









Go Language의 부동 소수점 번호 작동에 사용되는 라이브러리는 정확도를 보장하는 방법을 소개합니다.

GO의 어떤 라이브러리가 대기업이나 잘 알려진 오픈 소스 프로젝트에서 개발 했습니까? GO에 프로그래밍 할 때 개발자는 종종 몇 가지 일반적인 요구를 만납니다.

Go Crawler Colly의 대기열 스레딩 문제는 Colly Crawler 라이브러리를 GO 언어로 사용하는 문제를 탐구합니다. � ...

Go Language의 문자열 인쇄의 차이 : println 및 String () 함수 사용 효과의 차이가 진행 중입니다 ...

Go Pointer Syntax 및 Viper Library 사용의 문제 해결 GO 언어로 프로그래밍 할 때 특히 포인터의 구문 및 사용법을 이해하는 것이 중요합니다.

GO 언어에서 구조를 정의하는 두 가지 방법 : VAR과 유형 키워드의 차이. 구조를 정의 할 때 Go Language는 종종 두 가지 다른 글쓰기 방법을 본다 : 첫째 ...

GO의지도 반복이 왜 모든 값이 마지막 요소가되게합니까? Go Language에서 인터뷰 질문에 직면했을 때, 당신은 종종지도를 만납니다 ...

Go Language Slice Index : 오류없이 단일 요소 슬라이스가 인덱스 1에서 차단하는 이유는 무엇입니까? Go Language에서 슬라이스는 바닥을 참조 할 수있는 유연한 데이터 구조입니다 ...
