stinger85, PING не использует proxy, он идёт напрямую. Поэтому это не показатель правильной настроенности Access.
А вот конкретно Mikrotik не может приконнектиться к удалённому HTTP-серверу (на скриншоте - к mail.ru). Или не определяет IP-адрес сервера mail.ru, или нет коннекта к вышестоящему proxy-серверу 10.0.41.52:3128, или что-то ещё. Посмотрите на вкладку Lookups, есть ошибки?
winser, вот тут уже не подскажу. В теории можно сделать цикл, в котором проверять, есть сейчас активный AJAX или нет (а в AJAX менять глобальную переменную). Но меня сейчас за это отругают, потому что это совсем некрасивый способ, без эксепшенов, и промисов, и вообще. И встаёт другая проблема, с контролем запущенного PHP-скрипта, в котором делаются множественные коннекты.
Вам проще делать много не AJAX, а простых fetch-запросов, в цикле (синхронно) дожидаясь результата каждого недолгого запроса (меньше 90 сек).
Но пока не будет окончательно разорван коннект (или скрипт завершится, или PHP сделает fclose("php://stdin")), AJAX не увидит/не обработает завершение HTTP-запроса (либо success(), либо errorr()).
P.S. Непонятно с чего меня и на что менять? Так и нам непонятно, что у вас в конфигах написано, мы их не видим.
А предсказывать содержание конфигов по кофейной гуще... Я вот кофе не пью, поэтому гущи у меня нет.
winser, параметр timeout должен бы справляться с такой проблемой, но видимо браузер на эту настройку плюёт с высокой колокольни. Как вариант обхода: или разбивать AJAX-запросы на несколько мелких (короче 90 сек), или слать ну хоть какой-нибудь текст (хоть 100 пробелов) из PHP в сторону AJAX-а, пока PHP делает свои запросы.
P.S. А все заголовки HTTP можно достать из информации о curl-соединении.
winser, HTTP/1.0 - это протокол, с которым клиент обращается к серверу с PHP. Именно клиент решает и требует, что бы ему ответили по этому стандарту. Поэтому, если curl пожелает, то он и HTTP/1.1 закажет, и HTTP/2.0 сможет.
А один из вариантов ответа был про права доступа ко временной директории...
winser, тогда вопрос, функция в success хотя бы раз отрабатывает? Или исключительно error? И что происходит в PHP при таком ошибочном запросе, "OK" выдаётся сразу, без пауз? Никто этот ответ не портит? И проверьте запрос-ответ в DevTools браузера, на нормальность.
winser, для начала окончательно определитесь, есть циклы (повторы) запросов в Javascript, или их нет. А то "нет, циклы только в php, но ошибка с циклами - в AJAX " как-то сеет сомнение в адекватности.
Ну и сделайте просто тестовое AJAX-обращение раз 100-200 к какой-нибудь пустой странице, которая будет просто отдавать "OK", и разбирайтесь, сколько запросов совершилось удачно, и почему. А то циклы там, циклы тут, а искать мы будем под фонарём, потому что там светлее.
shaesnow, нет, к сожалению в упор не вижу.
В упор не вижу ни атакованного сайта, ни проломленного CF, ни атакующего компьютера с терабайтом памяти и 128Vcore, ни даже самого факта DDoS не вижу. Вижу вопрос про компьютер в качестве Internet gateway/сервер.
shaesnow, в случае DDoS рулит не количество памяти у атакующего, и не 100500 его процессоров, а канал передачи данных, либо найденая гадость.
Можно и с мобильного за-DoS-ить, отправляя HTTP-запрос, для которого сервер напрягается по полной (и память, и процы, и база данных), генерируя ответ сумашедших 10 минут. Всего-то 5-10-15-30 таких запросов одновременно (каждый размером 1 kB) - и всё, сервер уже ни на что не откликнется. Что, телефон не справится с 50 Kb данных?
P.S. И нет, здесь вы не найдёте истины "И почему-же защита Cloudflare не спасла?!".
shaesnow, современный роутер тоже справится, если быстро купировать, и DDoS не высокопрофессиональный. А при высокопрофессональном DDoS у вас раньше провайдер/внешний канал ляжет, ему ведь тоже это всё до вас передавать прийдётся.
Ну и разумеется на сервере нужна *nix-like OS, так нааааамного проще.
А вот конкретно Mikrotik не может приконнектиться к удалённому HTTP-серверу (на скриншоте - к mail.ru). Или не определяет IP-адрес сервера mail.ru, или нет коннекта к вышестоящему proxy-серверу 10.0.41.52:3128, или что-то ещё. Посмотрите на вкладку Lookups, есть ошибки?