Я разрабатываю RESTful API, который предназначен для использования одностраничным приложением и родным мобильным приложением. Некоторые вызовы этого API возвращают публичные результаты, которые можно кэшировать в течение определенного времени. Кроме того, существует необходимость в защите скорости для защиты API от неавторизованных пользователей (пауков).
Могу ли я использовать Cloudflare для реализации кеширования и ограничения скорости/защиты DDOS для моего RESTful API?
Кэширование: Cloudflare поддерживает заголовки управления кешем HTTP, поэтому API может решить для каждого объекта, запрошенного через GET, является ли он общедоступным и как долго он может быть кэшируются.
- Тем не менее, неясно, передается ли заголовок управления кэшем ниже по течению клиенту, так же будет заставлять браузер кэшировать ответ? Это может быть нежелательно, поскольку это может затруднить устранение неполадок.
- Akamai имеет заголовок Edge-Control, чтобы обеспечить кеширование содержимого в CDN, но не в браузере. Можно ли сделать что-то подобное с Cloudflare?
Защита DDOS: поддержка Cloudflare имеет статью рекомендацию об отключении защиты DDOS для интерфейсных API, но это не относится к моему варианту использования, где каждый клиент должен сделать несколько запросов к API. Нативная защита DDOS действительно соответствует моим требованиям по защите API от ботов.
-
Мне нужно знать, как я могу программно обнаруживать, когда Cloudflare обслуживает Captcha/I под атакой и т.д. page. Тогда это позволит SPA/мобильному приложению реагировать разумно и перенаправлять пользователя на веб-представление, где она может продемонстрировать свою "худману".
-
Из документации Cloudflare не очевидно, какой код статуса HTTP отправляется при представлении DDOS-запроса. Открытый источник cloudscraper, чтобы обойти защиту Cloudsoft от DDOS, указывает, что Captcha и страницы запроса поставляются с HTTP-статусом 200. Is есть ли лучший способ, чем разобрать тело запроса, чтобы узнать, удалили ли защиту от DDOS?
-
Cloudflare явно использует файлы cookie для записи, кто успешно решил Captcha. Это, очевидно, создает дополнительную сложность с родными приложениями. Есть ли способ передать куки сессии Cloudflare обратно в родное приложение после решения проблемы?
Возможно, это что-то вроде расширенного варианта использования Cloudflare - но я думаю, что это многообещающе и будет рад услышать, есть ли у кого-нибудь опыт с чем-то подобным (на Cloudflare или другом CDN).