php 편집기 Strawberry가 CORS gRPC 게이트웨이 GoLang을 소개합니다. Cross-Origin Resource Sharing의 약어인 CORS는 브라우저에서 도메인 간 요청을 수행하는 데 사용되는 메커니즘입니다. gRPC는 분산 시스템을 구축하는 데 사용할 수 있는 고성능 오픈 소스 원격 프로시저 호출(RPC) 프레임워크입니다. GoLang은 높은 동시성과 단순성을 갖춘 강력한 프로그래밍 언어입니다. CORS gRPC 게이트웨이 GoLang은 CORS와 gRPC를 결합하여 Go 언어를 통해 게이트웨이를 구현하여 도메인 간 요청을 구현합니다. 이 글에서는 CORS gRPC 게이트웨이 GoLang의 원리와 사용법을 자세히 소개하여 이 기술을 더 잘 이해하고 적용할 수 있도록 돕습니다.
저는 vue.js 3 프론트엔드를 가지고 있고grpc-gateway
를 통해 golang 백엔드를 호출합니다. 한동안 이러고 있었는데 터널 끝에서 빛이 보입니다.
현재 Cors 문제에 직면해 있습니다. 그러나 이를 처리하는 방법에 대해 상충되는 정보를 읽고 있습니다. 그래서 모든 분들에게 도움이 되길 바라는 마음으로 포스팅을 하게 되었습니다.
다음은 grpc(gateway)에 대한 mux 서버를 초기화하는 방법의 코드입니다
으아아아여기서 cors 구성을 추가해야 한다고 생각하는데, server.go 파일에서 그렇게 설정했는지는 모르겠습니다..
으아아아콘솔 오류:
으아아아이런 걸 어디에 추가해야 할지 모르겠어요
으아아아golang grpc 게이트웨이에 뭔가 내장되어 있어야 할 것 같은데 아무것도 찾을 수 없나요?
어떤 제안이라도 대단히 감사하겠습니다.
------업데이트 1------
해봤어
으아아아그리고
으아아아그리고
으아아아결합
으아아아여전히 같은 문제가 발생합니다.. 매우 실망스럽습니다.
댓글에 제공한 최신 오류에 따라:
원본 'localhost:9000'의 'localhost:8080/v1/test'에서 xmlhttprequest에 대한 액세스가 cors 정책에 의해 차단되었습니다. 실행 전 요청에 대한 응답이 액세스 제어 확인에 실패했습니다. http 정상 상태가 없습니다.
귀하의 브라우저는 필요한 교차 원본 요청이 이루어질 수 있는지 확인하기 위해preflight request(options
http 방법)를 보내고 있습니다.
서버가 2xx가 아닌 응답으로 응답하고 있습니다.
이는enablecors
함수가 요청을 grpc-gateway 핸들러로 전파하기 때문인 것 같습니다. grpc-gateway 핸들러는enablecors
函数正在将请求传播到 grpc-gateway 处理程序,该处理程序对options
http 메소드에 만족하지 않고 오류 상태를 반환합니다. 아마도:
이를 방지하려면실행 전 요청을 할 때요청을 더 이상 전파하지 않는 것이 좋습니다. 으아아아
그러나위의 내용은 여전히 Cors 처리의 합리적인 구현이 아닐 수 있습니다. 이를 위해github.com/rs/cors와 같은 기존 패키지를 사용해야 합니다. 이 패키지는 이 문제를 합리적인 방식으로 처리하고 잠재적인 함정 등을 처리합니다.
따라서 가져오고다음을 수행하세요.github.com/rs/cors
으아아아
위 내용은 CORS grpc 게이트웨이 GoLang의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!