The requested url returned error 503

Bitbucket Support Knowledge base Products Jira Software Project and issue tracking Jira Service Management Service management and customer support Jira Work Management Manage any business project Confluence Bitbucket Git code management Resources Documentation Usage and admin help Community Answers, support, and inspiration Suggestions and bugs Feature suggestions and bug reports Marketplace Billing and licensing […]

Содержание

  1. Bitbucket Support
  2. Knowledge base
  3. Products
  4. Jira Software
  5. Jira Service Management
  6. Jira Work Management
  7. Confluence
  8. Bitbucket
  9. Resources
  10. Documentation
  11. Community
  12. Suggestions and bugs
  13. Marketplace
  14. Billing and licensing
  15. Viewport
  16. Confluence
  17. Git commands return error code 503
  18. Related content
  19. Still need help?
  20. Symptoms
  21. Cause
  22. Resolution
  23. GitLab Запрошенный URL вернул ошибку: 503
  24. The requested url returned error 503 git
  25. Ответы
  26. Связанные вопросы
  27. ошибка git pull «Запрошенный URL-адрес вернул ошибку: 503 при доступе»
  28. 13 ответы

Bitbucket Support

Knowledge base

Products

Jira Software

Project and issue tracking

Jira Service Management

Service management and customer support

Jira Work Management

Manage any business project

Confluence

Bitbucket

Git code management

Resources

Documentation

Usage and admin help

Answers, support, and inspiration

Suggestions and bugs

Feature suggestions and bug reports

Marketplace

Billing and licensing

Frequently asked questions

Viewport

Confluence

Git commands return error code 503

Related content

Still need help?

The Atlassian Community is here for you.

Symptoms

When pulling from, pushing or cloning to Bitbucket Server, it responds with the error code 503.

Cause

This may be caused by one of two things:

  1. If you have a proxy set up in front of Bitbucket Server, it may be returning the 503 due to Bitbucket Server being down.
  2. If you don’t have a proxy and you are using Bitbucket Server 1.0.0, it is likely that you are hitting internal Bitbucket Server resource limits.
    In Bitbucket Server 1.0.1 and above, you will get an explicit error message in the git command output if you hit the resource limits.

Resolution

When you visit Bitbucket Server in your browser, it will add a banner if it is under extreme load (confirming cause #2 above). You will have to wait for the load to decrease — try again occasionally.

If you are hitting resource limits, you can configure those limits in Bitbucket Server, as documented in Scaling Bitbucket Server.

Источник

GitLab Запрошенный URL вернул ошибку: 503

Изменить от 28 сентября 2017 г. Описание ошибки, которое вы прочтете ниже, указывает на то, что проблема связана с GitLab или ОС. Описанное поведение можно встретить на любом компьютере за прокси-сервером при попытке подключения к любому внутреннему серверу Git, будь то GitHub, GitLab, Bitbucket и т. д.

У меня есть сервер RHEL6 (настроенный командой корпоративного сервера), на котором я установил GitLab Community Edition 7.9.2, следуя инструкциям, предоставленным GitLab здесь . Следуя инструкциям по установке, я смог запустить сервер и войти в систему.

Я создал группу и проект, затем разветвился на свой аккаунт. Я могу создать файл через пользовательский интерфейс GitLab и зафиксировать его. Я пытаюсь получить данные из своего разветвленного проекта, используя Git Bash (в Windows 7) и SourceTree, но получаю эту ошибку:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin fatal: unable to access ‘http://server.domain.com/username/project.git/’: The requested URL returned error: 503

В большинстве документов, которые я нашел, говорится, что это временное явление, и оно должно быть решено в ближайшее время. Я единственный, кто использует этот сервер, это единственное, что он установил, и проблема длилась весь день.

Я пробовал запускать команды перенастройки в GitLab безрезультатно. Gitlab или ngenix не являются установленными службами, поэтому я не могу их перезапустить.

Еще одна загвоздка в том, что я новичок в управлении Linux-серверами, я не прикасался к Linux уже 7 лет.

Источник

The requested url returned error 503 git

В последнее время у меня возникли проблемы с доступом к моему репозиторию git. Раньше он работал отлично, но теперь я не могу запустить ни одну команду в CLI. Однако я могу получить доступ к соответствующей веб-странице. Может ли кто-нибудь помочь мне решить эту проблему?

Ответы

Была такая же ошибка при использовании SourceTree, подключенного к репозиторию BitBucket .

При переходе к URL- адресу репозитория на

Этот репозиторий находится в режиме только для чтения. Вы поймали нас на быстром обслуживании.

Примерно через 2 часа репозиторий снова стал доступен.

Вы можете проверить статус и время работы bitbucket здесь: http://status.bitbucket.org/

здесь вы можете увидеть последний обновленный статус с их веб-сайта

если Git via HTTPS status равен Major Outage , вы не сможете тянуть / нажимать, пусть этот статус станет зеленым

Ошибка HTTP 503 — служба недоступна

Попробуйте отключить все общесистемные прокси HTTP и HTTPS:

Его проблема в конце битбакета.

Вы можете проверить статус их услуг на http://status.bitbucket.org/

В настоящее время в bitbucket произошел сбой HTTPS . увидеть ниже

Вы можете использовать опцию SSH . Я просто использовал вариант SSH с sourcetree .

Как и в случае с « CocoaPods — HTTP-запрос установки pod завершился неудачно », ошибка 503 при доступе (клонировании) к общедоступному репозиторию, вероятно, будет результатом сбоя GitHub (проблема доступности)

Повторная попытка позже обычно работает.

Ошибка 50X — это внутренняя ошибка

Веб-сервер (на котором запущен веб-сайт) в настоящее время не может обработать HTTP-запрос из-за временной перегрузки или обслуживания сервера. Подразумевается, что это временное состояние, которое будет улучшено после некоторой задержки.

Просто наберись терпения и подожди. 🙂

Я получил ту же ошибку при попытке клонировать репозиторий heroku git.

При доступе к панели управления heroku я увидел предупреждение о том, что инструмент находится на техническом обслуживании и должен вернуться через несколько часов.

Если вы получаете ту же ошибку, проверьте статус службы

Это была проблема службы из git. Сайт будет на обслуживании. Пожалуйста, попробуйте один раз после завершения работ по техническому обслуживанию.

Эта проблема возникает не только из-за no_proxy , потому что она также возникает из-за проблемы git server down .

Итак, когда возникает эта проблема, сначала вы открываете и проверяете gitlab в браузере.

И проверьте, показывает ли он какую-либо ошибку, например «503 An internal server error occured». .

Gitlab показывает страницу «503» , эта проблема создается сервером gitlab не в вашей системе.

Итак, вы ждете некоторое время, пока сервер заработает, и продолжаете работу.

Всем, пожалуйста, не изменяйте буфер сообщений и не советуйте его другим. В одних случаях это может помочь, в других — нет. Если вы изменили буфер сообщений для продвижения вашего большого проекта. Отмените его, используя следующую команду. git config —global —unset http.postBuffer git config —local —unset http.postBuffer

Я изменил свой пост-буфер, чтобы исправить одну из проблем, которые у меня были с git, но это стало причиной моих будущих проблем с git.

Связанные вопросы

Как удалить каталог из репозитория git?

Что я могу сделать, чтобы решить проблему «1 фиксация за мастером»?

Оформление, выборка и извлечение в BitBucket SourceTree

Разветвление с GitHub на Bitbucket

Как клонировать конкретную ветку в git bitbucket

Развертывание в Heroku с помощью git на bitbucket

Источник

ошибка git pull «Запрошенный URL-адрес вернул ошибку: 503 при доступе»

В последнее время у меня возникают проблемы с доступом к моему репозиторию git. Раньше он отлично работал, но теперь я не могу запустить какую-либо команду в CLI. Однако я могу получить доступ к соответствующей веб-странице. Может ли кто-нибудь помочь мне решить эту проблему?

Вы обращаетесь к нему через http/https или через SSH? находится ли репозиторий в Интернете или в вашей локальной сети? если в Интернете, проверьте настройки прокси-сервера в оболочке. — maxmelbin

Ваш вопрос слишком расплывчатый для меня. Можете ли вы добавить больше деталей? — Omid Kamangar

У меня точно такая же проблема. Я могу клонировать репозитории, которые я сделал несколько месяцев назад, просто отлично. Я могу клонировать репозитории, к которым у меня есть доступ. Но репозиторий, который я только что создал 2 дня назад — я не могу его клонировать. Я пробовал это как на своей локальной машине, так и на удаленном сервере, к которому у меня есть доступ. Я вижу точно такую ​​же проблему. donb@gcc20:

$ git клон github.com/donbright/truetype_to_svg.git Клонирование в truetype_to_svg. ошибка: запрошенный URL вернул ошибку: 503 при доступе github.com/donbright/truetype_to_svg.git/info/refs фатальный: HTTP-запрос не выполнен git 1.7.2.5 — don bright

обновление: я просто «подождал некоторое время» и повторил попытку — и это сработало. — don bright

13 ответы

Была такая же ошибка при использовании SourceTree подключенных к BitBucket репозиторий.

При переходе к URL репозитория на bitbucket.org появилось предупреждающее сообщение:

Этот репозиторий находится в режиме только для чтения. Вы поймали нас на быстром ремонте.

Примерно через 2 часа репозиторий снова стал доступен.

Вы можете проверить статус и время работы битбакета здесь: http://status.bitbucket.org/

Сегодня такая же проблема: We’re doing some maintenance. We’ll be right back. Благодаря — MKB

Если я перехожу к битбакету, он говорит Performing Backup: backup is currently underway and shouldn’t take too long — Келлен Стюарт

Кроме того, исходное дерево представляет собой горящую кучу мусора. Вы должны использовать командную строку git 🙂 — Келлен Стюарт

Я вышел из исходного дерева и снова открыл его. Потом пробовал нажимать, работает. — Р. Мохан

здесь вы можете увидеть последний обновленный статус с их веб-сайта

if Git via HTTPS статус Major Outage , вы не сможете тянуть/толкать, пусть этот статус станет зеленым

Ошибка HTTP 503 — служба недоступна

Попробуйте отключить все общесистемные прокси-серверы HTTP и HTTPS:

ответ дан 12 апр.

Это не имеет смысла, если рассматриваемому OP действительно нужен прокси-сервер для доступа в Интернет. (Кроме того, разве git не берет прокси из файла .git/config?) — птенец

Я понял, что подключился через VPN, отключение сработало. — Майк

Это решило мою проблему. Я установил прокси в переменных среды, что помешало мне получить доступ к внутреннему экземпляру битбакета. — КнехтРутрехт

Переменные env @ffledgling, по-видимому, имеют более высокий приоритет, чем, по крайней мере, диспетчер учетных данных, поэтому, если они установлены, git попытается использовать их вместо этого — март

У меня была ошибка OP с сервером git на уровне нашей организации при использовании TortoiseGit. Мне удалось успешно выполнить git pull в командной строке окна Dos, в которой есть системная среда vars HTTP_PROXY и HTTPS_PROXY удаленный. — Дан

Его проблема в конце битбакета.

Вы можете проверить статус их услуг на http://status.bitbucket.org/

В настоящее время есть HTTPS сбой в битбакете. Смотри ниже

Вы можете использовать SSH вариант. я только что использовал SSH вариант с sourcetree .

ответ дан 27 мая ’15, 08:05

Как в «CocoaPods — не удалось выполнить HTTP-запрос на установку модуля», ошибка 503 при доступе (клонировании) что такое варган? репозиторий, вероятно, является результатом сбоя GitHub (проблема доступности)

Повторная попытка позже обычно работает.

ответ дан 23 мая ’17, 13:05

50-кратная ошибка — это внутренний сервер ошибка. С вашей стороны все в порядке, но на стороне сервера что-то не так.

Веб-сервер (на котором работает веб-сайт) в настоящее время не может обработать HTTP-запрос из-за временной перегрузки или технического обслуживания сервера. Подразумевается, что это временное состояние, которое будет облегчено после некоторой задержки.

Просто наберитесь терпения и подождите. 🙂

ответ дан 01 апр.

Нет! Как сказал Евгений, у меня проблема с прокси — Камиль

Это может быть проблема, вызванная со стороны сервера из-за настроек, выполненных на стороне клиента. т.е. настройки прокси — Шехан Вирасурия

Пожалуйста, избегайте изменения почтового буфера и советуйте это другим. В одних случаях это может помочь, а в других — сломать. Если вы изменили свой буфер сообщений для продвижения вашего большого проекта. Отмените его, используя следующую команду. git config —global —unset http.postBuffer git config —local —unset http.postBuffer

Я изменил свой буфер сообщений, чтобы исправить одну из проблем, которые у меня были с git, но это было причиной моих будущих проблем с git.

ответ дан 24 дек ’19, 15:12

Я получил ту же ошибку при попытке клонировать репозиторий heroku git.

При доступе к панели инструментов heroku я увидел предупреждение о том, что инструмент находится на обслуживании и должен вернуться через несколько часов.

Если вы получаете ту же ошибку, проверьте статус службы

ответ дан 26 апр.

Я счел полезным добавить сюда этот ответ, связанный с героку, чем создавать другую тему для столь похожей темы — Уильям

Это была проблема службы от git. Сайт будет на обслуживании. Пожалуйста, попробуйте один раз после завершения работ по техническому обслуживанию.

ответ дан 24 дек ’18, 06:12

Эта проблема создается не только no_proxy , потому что он создан git server down выпуск также.

Поэтому, когда возникает эта проблема, вы сначала открываете и проверяете gitlab в браузере.

И проверьте, показывает ли он какую-либо ошибку, например «503 An internal server error occured». .

Гитлаб показывает «503» страница, эта проблема создается сервером gitlab не в вашей системе.

Итак, вы ждете некоторое время, пока сервер не поднимется, и продолжаете свою работу.

У меня была такая же ошибка сегодня. По всей видимости, Google Compute Engine был недоступен сегодня в течение 2-3 часов (GitLab использует его). К тому времени мне пришлось использовать VPN, чтобы вытащить обновление из репозитория. Я не хотел ждать.

Поэтому я предлагаю вам либо подождать, пока он вернется в сеть, либо попробовать использовать VPN и посмотреть, работает ли он. Это проблема на стороне сервера, как упоминалось экспертами выше.

ответ дан 10 мар ’21, в 10:03

У меня была такая же ошибка при использовании git из gitlab в Linux при запуске

при новой установке Linux вывод:

Мне просто нужно было создать пару ключей ssh ​​(вероятно, ошибка также исчезнет, ​​если вместо этого вы используете аутентификацию по паролю для URL-адресов https, этот ответ показывает только подход с парой ключей).

Просто нажмите Enter, чтобы сохранить его в стандартный каталог, решите, нужна ли вам дополнительная парольная фраза. Затем скопируйте содержимое открытого ключа

к ключу ssh на gitlab, здесь в случае rsa в качестве метода шифрования. Добавьте закрытый ключ в свой ssh.

Источник

Как и любая проблема с доступом к интернет-ресурсам, ошибка 503 Service Unavailable («Сервис недоступен») может быть вызвана сбоями как на стороне пользователя, так и на стороне сервера, на котором находится сайт. Поэтому первое, что нужно сделать, если вы столкнулись с таким сообщением при посещении веб-ресурса, попробовать устранить сбой своими силами. Это намного проще и быстрее, чем пытаться донести информацию о возникших сложностях до владельца сайта.

Процедура устранения проблемы со стороны администратора веб-ресурса более сложная, но в большинстве случаев именно неправильные настройки на уровне хостинга или настроек сайта в панели управления CMS приводят к появлению ошибки сервера с кодом 503.

Мощный хостинг в подарок при заказе лицензии 1С-Битрикс

Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой. А мы подарим вам год мощного хостинга – специально для сайтов на 1С-Битрикс.

Заказать

Устранение ошибки 503 пользователем

Возникает резонный вопрос: почему бы просто не покинуть проблемный сайт, пусть сами разбираются со своими багами? Это решение очевидное, но не совсем верное. Во-первых, вам может быть очень необходимо посетить именно этот веб-ресурс. Во-вторых, появление сигнала об ошибке доступа может говорить о том, что с вашим браузером, программным обеспечением, компьютером или другими устройствами что-то не в порядке. И тогда это уже ваша проблема, которая может повторяться систематически и при посещении других сайтов. Рассмотрим, что можно сделать самому, чтобы исправить ошибку 503, двигаясь от простого к сложному.

  1. Обновите вкладку браузера. Это покажется странным, но зачастую такое простое действие приводит к положительному результату. Нажмите клавишу F5 или воспользуйтесь специальной кнопкой в меню браузера.
  2. Закройте и откройте браузер. Таким образом вы произведете сброс текущей сессии соединения и обновите его. При новом подключении скрипт браузера может не обнаружить ошибку 503, если она была воспринята им ошибочно.
  3. Стоит убедиться, что сбой не связан именно с вашим компьютером. Это особенно актуально, если ошибки соединения с веб-ресурсами повторяются регулярно и возникают с разными кодировками на других сайтах. Для этого необходимо посетить проблемную страницу с другого устройства и желательно через новое интернет-соединение.
  4. Зайдите на страницу, выдавшую ошибку 503, используя другой браузер. Вполне вероятно, что дефект возникает из-за некорректных настроек текущего. Если это подтвердится, стоит в них покопаться и найти источник возникновения проблемы. Самое простое, это восстановить настройки по умолчанию.
  5. Перезагрузка компьютера. Как и любой программный сбой на уровне операционной системы или другого программного обеспечения, он может быть исправлен автоматически при новой загрузке системы.
  6. Очистка кэша и удаление файлов cookies.  В зависимости от настроек конкретного браузера в них может сохраняться много «лишней» информации при обмене web-данными. Операция довольно несложная, но стоит предварительно посмотреть help по данному вопросу, т.к. в каждом браузере она проводится по-разному.
  7. Перезагрузка сетевого оборудования. Часто сложности при соединении с интернет-ресурсами возникают из-за некорректного поведения ПО на внешних устройствах, через которые вы получаете трафик. Это может быть роутер, раздающий интернет как по кабелю, так и через Wi-Fi. Необходимо отключить соответствующую железку по питанию, т.е. полностью обесточить ее примерно на одну минуту. Если провайдер выдает вам динамический ip-адрес, то произойдет его смена, что тоже может привести к устранению появления ошибки 503.
  8. Смена DNS-адреса на сервере. Это решение является наиболее сложным для обычного пользователя. В большинстве интернет-соединений используется общедоступный DNS-адрес Google. Изменить его можно через «Панель управления компьютера» в «Центре управления сетями и общим доступом». Данные манипуляции довольно критичны для устойчивой работы интернета на вашем компьютере. Поэтому производить их стоит только тогда, когда вы абсолютно уверены в своей IT-подготовке.

Если ни один из вышеприведенных способов не помог, а достучаться до сайта ну очень нужно, пишите о проблеме в техподдержку данного ресурса, приложив скриншот страницы с кодом и описанием ошибки.

Ошибка 503 может отображаться в разных форматах с дополнительными информативными сообщениями. Появление страницы «503 Service Temporary Unavailable – Сервис временно недоступен» говорит о том, что проблема носит временный характер. В этом случае пользователю рекомендуется не предпринимать никаких действий и просто дождаться, когда доступ восстановится автоматически.

Ошибка 503 HTTP

Решение проблем с ошибкой 503 администратором веб-ресурса

При возникновении ошибки 503 Service Unavailable в любом ее проявлении администратор web-ресурса в первую очередь должен разобраться в причине ее появления. Игнорирование данной процедуры по принципу «само пройдет» может привести к тому, что сайт понесет глобальные потери в объеме пользовательского трафика и, как следствие, конверсии. Посетители, регулярно сталкивающиеся с проблемами доступа к определенному ресурсу, очень быстро занесут его в «игнор».

В зависимости от конкретного тарифного плана хостинга каждый сайт имеет ограничения по одновременной обработке запросов, поступающих на сервер от конечных пользователей. Более простые запросы браузеров обрабатываются практически мгновенно, сложные ожидают очереди в порядке их поступления. Количество отложенных запросов лимитировано, при превышении нормы каждый следующий отклоняется. В этом случае посетитель сайта видит на экране сообщение с кодировкой error 503.

Наиболее частые причины возникновения ошибки 503 на стороне сервера

  1. При получении запроса от пользователя конкретная страница сайта не может установить соединение с базой данных MySQL.
  2. Некорректная работа плагинов и расширений из-за внутренних ошибок или конфликта между собой.
  3. Использование недорого хостинга и маломощного сервера приводит к тому, что оборудование не справляется с обработкой входящего трафика.
  4. Ресурсоемкие скрипты создают дополнительную нагрузку на сервер.
  5. Задействован почтовый сервис, выполняющий автоматическую рассылку сообщений в большом объеме.
  6. Соединение с удаленным сервером может привести к замедлению обработки запросов.
  7. Передача файлов большого объема при помощи PHP-скрипта.
  8. Значительное количество нерабочих модулей конкретной CMS.

Как видим, решение практически всех проблем, приводящих к появлению ошибки 503, достигается использованием более мощных серверов и высокоскоростного качественного хостинга. Отрицательная сторона этого способа в его затратности. Распределение пользовательского трафика неравномерно по времени, и банальный апгрейд железа не поможет полностью исключить сбои в моменты пиковых нагрузок.

Как избежать появления ошибок 503

Для начала рекомендуется провести статистический анализ через административную панель (снять логи), чтобы понять, какие процессы создают максимальную нагрузку на сервер, и произвести определенные изменения в настройках.

Уменьшение нагрузки на базу данных можно добиться следующими способами:

  • Регулярное обновление CMS, которое позволяет оптимизировать работу движка, уменьшить количество багов.
  • Установка защиты от ботов и парсеров, которые часто запускаются вашими конкурентами, чтобы создать дополнительную нагрузку на ресурс и тем самым вывести его частично или полностью из строя.
  • Уменьшение размера и, если это возможно, количества графических файлов на сайте, а также «тяжелых» таблиц.
  • Ввод ограничений на количество одновременных участников в чате.

Оптимизация работы скриптов

  • Отключите все лишние плагины и дополнения, кроме тех, которые реально необходимы для бесперебойной работы сайта (кэширование, оптимизация базы данных, создание бэкапов, сжатие изображений).
  • Осуществляйте передачу файлов большого объема через FTP, т.к. использование других способов передачи данных приводит к созданию отдельного процесса.
  • Осуществляйте массовую почтовую рассылку в моменты отсутствия пиковой нагрузки на сайт, например, ночью или ранним утром.
  • При использовании удаленного сервера минимизируйте время ответа и оптимизируйте канал соединения.
  • Проверьте наличие проблемных запросов к базе MySQL в файле mysql-slow.log.

Дополнительную нагрузку на сервер, приводящую к появлению ошибки 503, могут создать DDoS-атаки. Защита от них с помощью фильтрации относится к отдельной теме обсуждения.

Следует отметить, что ошибка 503, вызванная перегрузкой серверных мощностей, может пройти сама собой, без внешнего вмешательства. Чтобы понять, произошло ли исправление ситуации, достаточно периодически перезагружать сайт.

Заключение

Ошибка 503 Service Unavailable может возникнуть на любом сайте, управляемом одной из наиболее популярных CMS – WordPress (Вордпресс), Joomla (Джумла), DLE (ДЛЕ) и любой другой, использующей базы данных MySQL. Способов ее решения много, начиная от самых простых на уровне пользователя и заканчивая довольно сложными процедурами, которые должен выполнить администратор сайта.

Буду благодарен, если вы нашли нестандартный подход к устранению сбоя с кодировкой 503 и готовы поделиться своим опытом в комментариях!

Время прочтения
7 мин

Просмотры 27K

Работа в поддержке хостинга в основном однотипная, большинство запросов от клиентов решаются по проработанной схеме, но иногда всё же приходится сталкиваться с нетривиальными проблемами. Тогда главная задача инженера — найти тот самый — единственно верный путь, который приведёт к её решению. В этой статье хочу рассказать о том, как мы столкнулись с плавающей ошибкой «HTTP Error 503. Service Unavailable» на нашем shared-хостинге, как пытались её отловить, провели диагностику и получили неожиданный финал.

Начало

Хостинг предоставляет пользователям типичный стек Linux + Apache + Mysql + PHP и оболочку для управления. В нашем случае это ISP Manager 5 business на базе Centos 7 с конвертацией в CloudLinux. Со стороны административной части, CloudLinux предоставляет инструменты для управления лимитами, а так же PHP-селектор с различными режимами работы (CGI, FastCGI, LSAPI).

В этот раз к нам обратился клиент со следующей проблемой. Его сайт на движке WordPress периодически начал отдавать 503 ошибку, о чём он нам и сообщил.

Коды ответа, начинающиеся с 50х, относятся к проблемам на стороне сервера. Это могут быть проблемы как самого сайта, так и веб-сервера, который их обслуживает.

Типичные ситуации, при которых мы получаем следующие ошибки:

  • 500 Internal Server Error — довольно часто связана либо с синтаксическими ошибками в коде сайта, либо с отсутствующими библиотеками / не поддерживаемой версией PHP. Так же могут быть проблемы с подключением к базе данных сайта или неверными правами на файлы / каталоги
  • 502 Bad Gateway — например, если Nginx ссылается на неправильный порт веб-сервера Apache или процесс Apache по какой-то причине перестал работать
  • 504 Gateway Timeout — ответ от Apache не был получен в течение заданного в конфигурации веб-сервера времени
  • 508 Resource limit is reached — превышен лимит, выделяемых пользователю ресурсов

В данном списке приведены лишь некоторые, наиболее распространённые случаи. Также стоит отметить, что при превышении лимитов пользователь может получить как 500, так и 503 ошибку.

При выполнении диагностики данных ошибок, первым делом проверяем журналы веб-сервера. Обычно, этого достаточно, чтобы определить виновника и исправить проблему.

Касаемо 503 ошибки в нашем случае, в логах мы видели запись:

[lsapi:error] [pid 49817] [client x.x.x.x:6801] [host XXX.XX] Error on sending request(GET /index.php HTTP/1.0); uri(/index.php) content-length(0): ReceiveAckHdr: nothing to read from backend (LVE ID 8514), check docs.cloudlinux.com/mod_lsapi_troubleshooting.html

На основании только этого лога, определить в чём может быть проблема не представлялось возможным.

Первичная диагностика

Изначально, мы проверили статистику превышения лимитов пользователем. Незначительные превышения были зафиксированы за предыдущие дни, но ошибки в журналах были свежие, более того они появлялись в журнале с периодичностью от одной до нескольких минут.

Так же мы изучили рекомендации CloudLinux, по приведённой в журналах ошибок ссылке.
Изменение каких-либо параметров результата не принесло.

Сайт использовал базу данных на сервере Mysql 5.7, который работает на этом же сервере в контейнере Docker. В логах контейнера присутствовали сообщения:

[Note] Aborted connection 555 to db: 'dbname' user: 'username' host: 'x.x.x.x' (Got an error reading communication packets)

Как раз, среди этих сообщений были сообщения о прерванном подключении исследуемого сайта. Это дало предположение, о том, что подключение к СУБД выполняется некорректно. Для проверки мы развернули копию сайта на тестовом домене, сконвертировали базу данных сайта под нативную в Centos 7 версию СУБД 5.5.65-MariaDB. На тестовом сайте выполнили несколько сотен запросов с помощью утилиты curl. Ошибку воспроизвести не удалось. Но этот результат был предварительным и после конвертации БД на рабочем сайте проблема так и осталась.

Таким образом, проблема некорректного подключения к СУБД была исключена.

Следующим предположением было проверить — нет ли проблем с самим сайтом. Для этого подняли отдельный виртуальный сервер, на нём подняли максимально схожее окружение. Единственное существенное отличие — отсутствие CloudLinux. На тестовом сервере проблему воспроизвести не удалось. Итак, мы определили, что в коде сайта всё в порядке. Тем не менее, пробовали так же отключать плагины WordPress, но проблема так же сохранялась.

В результате, пришли к тому, что проблема на нашем хостинге.

В ходе анализа журналов других сайтов было обнаружено, что проблема наблюдается на многих из них. Порядка 100 шт. на момент проверки:

/var/www/httpd-logs# grep -Rl "ReceiveAckHdr: nothing to read from backend" ./ | wc -l
99

В ходе тестирования обнаружили, что только что установленная чистая CMS WordPress также периодически выдаёт ошибку 503.

Примерно за 2 месяца до этого мы проводили работы по модернизации сервера, в частности изменили режим работы Apache с Worker на Prefork, с целью получить возможность использовать PHP в режиме LSAPI, вместо медленного CGI. Было предположение, о том, что это могло повлиять, либо требуются какие-то дополнительные настройки Apache, но вернуть обратно режим Worker мы уже не могли. В ходе изменения режима работы Apache выполняется изменение всех конфигов сайтов, процесс не быстрый и не всё могло пройти гладко.

Корректировка настроек Apache так же не дала желаемого результата.

Попутно искали схожие проблемы в поисковых системах. На одном из форумов участники утверждали, что проблема у хостера и нужно его менять, если проблему не решают. Звучит не очень оптимистично, когда ты находишься с другой стороны, но и клиента понять можно. Зачем ему нерабочий хостинг.

На данном этапе мы собрали имеющуюся информацию и результаты проведённых работ. С ними обратились в поддержку CloudLinux.

Детальная диагностика

В течение нескольких дней сотрудники поддержки CloudLinux вникали в проблему. В основном рекомендации были относительно установленных лимитов пользователей. Этот вопрос мы так же проверяли. При отключенных лимитах (Опция CageFS для пользователя) и с включенными лимитами в режиме PHP как модуль Apache проблема не наблюдалась. Исходя из этого, было сделано предположение, что каким-то образом оказывает влияние CloudLinux. В итоге, к концу недели запрос был эскалирован на 3-ий уровень поддержки, но решения пока не было.

Попутно изучали документацию Apache по режимам работы CGI и LSAPI, подняли второй экземпляр Apache на сервере хостинга на другом порту с тестовым сайтом, исключили влияние Nginx, отправляя запросы напрямую к Apache и получая те же коды ошибок.

Сдвинуться с мёртвой точки помогла документация LSAPI, как раз по диагностике 503 ошибки:
www.litespeedtech.com/support/wiki/doku.php/litespeed_wiki:php:503-errors
В секции Advanced Troubleshooting предлагается выполнять трассировку найденных в системе процессов:

while true; do if mypid=`ps aux | grep $USERNAME | grep lsphp | grep $SCRIPTNAME | grep -v grep | awk '{print $2; }' | tail -1`; then strace -tt -T -f -p $mypid; fi ; done

Команда была доработана, с целью записи всех процессов в файлы с указанием их идентификаторов.

При просмотре файлов трассировок, мы видим в некоторых одинаковые строки:

cat trace.* | tail
...
47307 21:33:04.137893 --- SIGHUP {si_signo=SIGHUP, si_code=SI_USER, si_pid=42053, si_uid=0} ---
47307 21:33:04.140728 +++ killed by SIGHUP +++
...

Если взглянуть на описание структуры сигналов, отправляемых процессами, то увидим, что

pid_t    si_pid;       /* Sending process ID */

Указывает на идентификатор процесса, отправившего сигнал.

На момент изучения трассировок, процесса с PID 42053 в системе уже нет, поэтому в процессе захвата трассировок решили отслеживать так же процессы, отправившие сигнал SIGHUP.
Под спойлером описаны действия, которые позволили определить что это за процесс, а так же получить его трассировку и дополнительную информацию, о том, каким процессам он отправляет сигнал SIGHUP.

Методика трассировки

Консоль 1.

tail -f /var/www/httpd-logs/sitename.error.log

Консоль 2.

while true; do if mypid=`ps aux | grep $USERNAME | grep lsphp | grep "sitename" | grep -v grep | awk '{print $2; }' | tail -1`; then strace -tt -T -f -p $mypid -o /tmp/strace/trace.$mypid; fi ; done

Консоль 3.

while true; do if mypid=`cat /tmp/strace/trace.* | grep si_pid | cut -d '{' -f 2 | cut -d'=' -f 4 | cut -d',' -f 1`; then ps -aux | grep $mypid; fi; done;

Консоль 4.

seq 1 10000 | xargs -i sh -c "curl -I http://sitename/"

Ждём пока в консоли 1 появятся сообщения, при этом в консоли 4 видим статус запроса с кодом ответа 503, прерываем выполнение в консоли 4.

В итоге, получили название процесса /opt/alt/python37/bin/python3.7 -sbb /usr/sbin/cagefsctl --rebuild-alt-php-ini

Данный процесс выполнялся в системе с периодичностью раз в минуту.

Делаем трассировку нескольких процессов cagefsctl, чтобы отследить хотя бы один от начала до конца:

for i in `seq 1 100`; do strace -p $(ps ax | grep cagefsctl | grep rebuild-alt-php-ini | grep -v grep | awk '{print $1}') -o /tmp/strace/cagefsctl.trace.$(date +%s); done;

Далее изучаем что он делал, например:

cat /tmp/strace/cagefsctl.trace.1593197892 | grep SIGHUP

Так же были получены идентификаторы процессов, которые были завершены сигналом SIGHUP. Завершённые процессы были процессами PHP, выполняющимися в данный момент.

Полученные данные были переданы в поддержку CloudLinux с целью уточнить легитимность данного процесса и должен ли он работать с такой периодичностью.

Позже получили ответ, что работа команды /usr/sbin/cagefsctl --rebuild-alt-php-ini выполняется корректно, единственный нюанс в том, что команда выполняется слишком часто. Обычно вызывается при системном обновлении или изменении параметров PHP.

Единственная зацепка в данном случае осталась — проверить, кто является родительским процессом cagefsctl.

Результат не заставил себя долго ждать и какого же было наше удивление — родительским процессом для cagefsctl являлся процесс ispmgrnode. Это было немного странно, потому что уровень журналирования для ISP Manager был задан максимальным и в ispmgr.log не увидели вызов cagefsctl.

Теперь данных было достаточно, чтобы обратиться и в поддержку ISP System.

Итоги

Проблема была спровоцирована после выполнения обновления ISP Manager. В целом, обновление ISP Manager — штатная ситуация, но она привела к запуску процесса синхронизации, который завершался с ошибкой и перезапускался ежеминутно. Процесс синхронизации вызывал за собой процесс cagefsctl, который в свою очередь завершал процессы PHP.

Причиной зависания процесса синхронизации стали проведённые на хостинге работы по модернизации оборудования. За несколько месяцев до возникновения проблемы, в сервер был установлен PCI-e NVMe-накопитель, создан раздел XFS и смонтирован в каталог /var. На него были перенесены в том числе и файлы пользователей, но не обновились дисковые квоты. Опций монтирования было не достаточно, требовалось так же изменить тип файловой системы в параметрах ISP Manager, т.к. она вызывает команды обновления дисковых квот. Для Ext4 и XFS эти команды отличаются.

Таким образом, проблема дала о себе знать спустя несколько месяцев после проведения работ.

Выводы

Мы сами создали проблему, но это было не ясно до последнего момента. На будущее, будем стараться учесть как можно больше нюансов. Благодаря помощи более подготовленных коллег из поддержки CloudLinux и ISP System, проблема была решена. Теперь наш хостинг работает стабильно. А нами был получен опыт, который пригодится нам в будущей работе.

P.S.: Надеюсь, Вам было интересно ознакомиться с материалом статьи, а кому-нибудь она поможет быстрее решить подобную проблему.

HTTP Error 503 Service Unavailable Explained – What the 503 Error Code Means

Errors happen – there’s some unexpected maintenance, a bug that went unnoticed, or a page goes viral and the flood of connections take the server down.

If you’ve been online for any amount of time, no doubt you’ve seen the somewhat vague 503 Service Unavailable error.

In this article we’ll go over HTTP status codes, what the 503 error means, and some possible ways to solve it – both for a site you’re trying to visit and for your own site.

An overview of HTTP status codes

Servers that host web pages listen for requests from web browsers or devices, also known as clients. The server then uses a bunch of different status codes to communicate back.

These status codes are organized into different classes, which is indicated by the first number of the status code:

  • 1xx: Information – the server is still processing the request
  • 2xx: Success – the request succeeded and the server responds with the page or resource
  • 3xx: Redirection – the page or resource has moved and server will respond with its new location
  • 4xx: Client error – there is an error in the request from the browser or device
  • 5xx: Server error – there is an error with the server

The last two digits of each HTTP status code represent a more specific status for each class. For example, 301 means that a page or resource has moved permanently, while 302 means the move is temporary.

Check out this page for a list of common HTTP status codes and their meaning: https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

Most status codes go by totally unnoticed, which is fine because it means everything is working. It’s only when you get to the 4xx-5xx range that you might notice a status code because you’ll see a page like this:

E20Ry-1

A typical 503 error page – Source: Stack Overflow

Now that you have a basic understanding of HTTP status codes, let’s dig a bit deeper into the 503 Service Unavailable error.

What does the 503 error code mean?

As mentioned above, 5xx status codes mean there’s a problem with the server itself.

A 503 Service Unavailable error means that the page or resource is unavailable. There are many reasons why a server might return a 503 error, but some common reasons are maintenance, a bug in the server’s code, or a sudden spike in traffic that causes the server to become overwhelmed.

The message that’s sent with the 503 error can vary depending on server it’s coming from, but here are some of the common ones you’ll see:

— 503 Service Unavailable
— 503 Service Temporarily Unavailable
— HTTP Server Error 503
— HTTP Error 503
— Error 503 Service Unavailable
— The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.

Source

Whatever the reason for the 503 error, it’s usually temporary – the server will restart, traffic will die down, and the issue will resolve itself.

How to solve the 503 Status Unavailable error

When trying to solve a 503 error, there are two general camps.

The first is where you’re an end user, and you’re trying to visit a site that you don’t own. In the second, you own the site, and it’s throwing 503 errors to people who are trying to visit.

The method to solve 503 errors is different depending on which group you fall into. Let’s take a look at some things you can do as an end user if you see a 503 error.

How to solve a 503 Status Unavailable error as an end user

Since 5xx status codes mean that the error is on the server-side, there isn’t a lot you can do directly.

Even though 503 errors are usually temporary, there are some things you can do while you wait.

#1: Refresh the page

Sometimes the error is so temporary that a simple refresh is all it takes. With the page open, just press Ctrl — R on Windows and Linux, or Cmd — R on macOS to refresh the page.

#2: See if the page is down for other people

The next thing you can do is use a service like Is It Down Right Now? or Down For Everyone Or Just Me to see if other people are getting the same error.

Just go to either of those sites and enter in the URL for the page you’re trying to visit.

The service will ping the URL you entered to see if it gets a response. Then it’ll show you some cool stats and graphs about the page:

image-44

Checking freeCodeCamp on Is It Down Right Now?

If you scroll down a bit you’ll see some comments from other people. Often people will give their general location and other data, so this can be a good way to determine if the error is just affecting certain regions or specific devices.

#3: Restart your router

Sometimes the issue has to do with a DNS server failure.

DNS stands for Domain Name System, and they basically act as translators between IP addresses and human readable URLs.

For example, you can visit Google by entering its long IP address directly (172.217.25.206), or you can just enter in the URL, www.google.com.

It’s a DNS, often hosted on a server, that handles all that behind the scenes.

All of that is to say, many routers cache responses from DNS servers (www.google.com <==> 172.217.25.206). But sometimes this cache can get corrupted and cause errors.

An easy way to reset or «flush» the cache is to restart your router. Just unplug your router for about 5 seconds, then plug it back in again.

It should restart after a minute and all of your devices should reconnect automatically. Once they do, try visiting the site again.

How to solve a 503 Status Unavailable error as the site’s owner

If you are the owner/developer of the site that’s returning 503 errors, there’s a bit more you can do to diagnose and resolve the issue.

Here are some general tips to get you started:

#1: Restart the server

Development is tough – even a simple static page can have so many moving parts that it can be difficult to pin down what’s causing the 503 error.

Sometimes the best thing to do is to restart the server and see if that fixes the issue.

1rs7t0-1

Source: imgflip

The exact method of restarting your server can vary, but usually you can access it from your provider’s dashboard or by SSH’ing into the server and running a restart command.

The server should restart after a couple of minutes. If you’ve configured everything to run automatically on boot, you can visit your site and see if it’s working.

#2: Check the server logs

The next thing to do is check the logs.

The location of the server logs can vary depending on what service you’re running, but they’re often found in /var/log/....

Take a look around that directory and see if you can find anything. If not, check the manual for your programs by running man program_name.

#3: Check if there’s ongoing automated maintenance

Some service providers offer automated package updates and maintenance. Normally this is a good thing – they usually occur during downtime, and help make sure everything is up-to-date.

Occasionally 503 errors are due to these scheduled maintenance sessions.

For example, some hosting providers that specialize in WordPress hosting automatically update WP whenever there’s a new release. WordPress automatically returns a 503 Service Unavailable error whenever it’s being updated.

Check with your service providers to see if the 503 error is being caused by scheduled maintenance.

#4: Check your server’s firewall settings

Sometimes 503 Service Unavailable errors are cause by a misconfigured firewall where connections can get through, but fail to get back out to the client.

Your firewall might also need special settings for a CDN, where multiple connections from a small handful of IP addresses might be misinterpreted as a DDoS attack.

The exact method of adjusting your firewall’s settings depends on a lot of factors. Take a look at your pipeline and your service provider’s dashboards to see where you can configure the firewall.

#5: Check the code

Bugs, like errors, happen. Try as you might, it’s impossible to catch them all. Occasionally one might slip through and cause a 503 error.

If you’ve tried everything else and your site is still showing a 503 Service Unavailable error, the cause might be somewhere in the code.

Check any server-side code, and pay special attention to anything having to do with regular expressions – a small regex bug is what caused a huge spike in CPU usage, rolling outages, and about three days of panic for us at freeCodeCamp.

Hopefully you’ll be able to track down the culprit, deploy a fix, and everything will be back to normal.

In summary

That should be everything you need to know about 503 Service Unavailable errors. While there’s usually not much you can do when you see a 503 error, hopefully some of these steps will help the next time you encounter one.

Stay safe, and happy refreshing-until-it-works :)



Learn to code for free. freeCodeCamp’s open source curriculum has helped more than 40,000 people get jobs as developers. Get started

Понравилась статья? Поделить с друзьями:
  • The requested url returned error 500 gitlab
  • The requested url returned error 407
  • The requested url returned error 404 pacman
  • The requested url returned error 403 что это
  • The requested url returned error 403 github что делать