Я создал форум на базе Discourse и назначил ему приватный домен forums-test.com на сервере A. Затем на сервере B (с доменом test.com) я настроил обратный прокси-сервер на базе Nginx. Все обращения к test.com/forums/ перенаправляются на forums-test.com на сервере A. Кроме того, на сервере B я настроил переписывание ответов, чтобы все ссылки, указывающие на forums-test.com, заменялись на test.com/forums/. Всё работает корректно, но при попытке включить аутентификацию через Google возникла ошибка redirect_uri_mismatch. Эта ошибка возникает потому, что после завершения проверки Google пытается вызвать test.com/forums/auth/google_oauth2/callback, чтобы передать временный токен в Discourse. Однако во время обмена данными между Discourse и Google Discourse отправляет URL обратного вызова как forums-test.com/auth/google_oauth2/callback, что приводит к несоответствию. Этот исходящий запрос инициируется с сервера A, и я не могу его изменить. Как решить эту проблему?
А что, если в настройках Google Cloud вы измените URL на forums-test.com/auth/google_oauth2/callback?
Домен “forums-test.com” недоступен в публичной сети, поэтому в моём Google Cloud я установил его как test.com/auth/google_oauth2/callback
Кто-нибудь может мне помочь?