У меня есть React на основе SPA, который размещен через S3 на одном поддоменеact.mydomain.com ... Он взаимодействует с PHP REST API, который размещен на VPS на другом поддомене api.mydomain.com.Api.mydomain.com находится за CloudFlare.Веб-приложение находится за CloudFront, так как оно находится на AWS.
У меня возникают проблемы с запросами бота напрямую к API, заполняющему мой VPS, и я хотел бы использовать функциональность JS challenge с CloudFlare для смягчения.
Однако, похоже, происходит то, что пользователи могут загрузить веб-приложение React (которое не стоит за CloudFlare).Затем запрос, который вызовет вызов JS, сразу же завершится неудачей с ответом 503, потому что это запрос AJAX и он несовместим с вызовом Javascript.
Я думал, что смогу справиться с этим, перехвативошибка и перенаправление.Однако, если я вручную заставлю свой собственный браузер перейти по URL-адресу api.mydomain.com, я увижу вызов CloudFlare и пройду его.Тем не менее, если я затем вернусь к моему SPA00000000.Ru, SPA-запросы не будут выполняться, потому что он не может прикрепить cookie-файл, который сообщает CloudFlare, что он прошел.
Я не понимаю, как настроить мою инфраструктурутак что я могу воспользоваться преимуществами JS.В настоящее время я ограничен использованием ограничения скорости, но обнаружил, что к тому времени, когда я становлюсь достаточно серьезным, я все еще пропускаю примерно 75% или более нежелательного трафика бота, чтобы пользователи начали жаловаться.