Discourse를 사용하여 포럼을 만들고 서버 A에 forums-test.com이라는 비공개 도메인을 할당했습니다. 그런 다음 도메인 test.com이 있는 서버 B에서 Nginx를 사용하여 리버스 프록시를 설정했습니다. test.com/forums/에 대한 모든 요청은 서버 A의 forums-test.com으로 전달됩니다. 또한 서버 B에서 응답 재작성(response rewriting)을 구성하여 forums-test.com을 가리키는 모든 링크를 test.com/forums/로 대체하도록 했습니다. 모든 것이 정상적으로 작동하지만, 포럼에 Google 인증을 활성화하려고 했을 때 Google이 redirect_uri_mismatch 오류를 반환하는 문제가 발생했습니다. 이 오류는 Google이 인증을 완료한 후 임시 토큰을 Discourse로 전달하기 위해 test.com/forums/auth/google_oauth2/callback을 호출하려고 할 때 발생합니다. 그러나 Discourse와 Google 간의 데이터 교환 과정에서 Discourse가 콜백 URL을 forums-test.com/auth/google_oauth2/callback로 전송하여 불일치가 발생합니다. 이 발신 요청은 서버 A에서 시작되며 수정할 수 없습니다. 이 문제를 어떻게 해결할 수 있을까요?
구글 클라우드 설정에서 URL을 forums-test.com/auth/google_oauth2/callback로 변경해 본다면 어떨까요?
도메인 "forums-test.com"은 공개 네트워크에서 접근할 수 없기 때문에, 제 Google Cloud 설정에는 test.com/auth/google_oauth2/callback으로 지정해 두었습니다.
누구 좀 도와줄 수 있나요?