- 500 Internal Server Error
- 502 Bad Gatеway
- 503 Service temporarily unavailable
- 504 Gateway Timeout
- Ошибка 505
Коды ошибок 500, 502, 503, 504 говорят о том, что сервер в данный момент не может отобразить запрос из-за внутренней ошибки.
500 Internal Server Error
Самая распространенная внутренняя ошибка сервера. Код генерируется при любой проблеме, не имеющей отношения к остальным ошибкам, поэтому у его появления множество причин.
Некоторые причины появления ошибки 500
- Ошибки при работе скриптов сайта.
- Неверные директивы, указанные в файле .htaccess.
В редких случаях ошибка 500 может быть следствием внедрения в файлы сайта вредоносного кода.
Способы устранения ошибки 500 Internal Server Error
Проверьте логи ошибок веб-сервера. На хостинге RU-CENTER они размещены в каталоге /var/log, подробнее в статье. Если ситуация связана с ошибочными директивами в .htaccess, с ошибками в работе CGI-скриптов, с ошибками в файле конфигурации веб-сервера, вы увидите точную причину ошибки в логе веб-сервера и сможете её устранить.
Если ошибка возникает при работе PHP-скрипта, текст ошибки в лог может не попасть. В этом случае нужна дополнительная диагностика.
502 Bad Gatеway
Ошибка означает, что сервер, выступая в качестве шлюза, не смог обработать полученный запрос по техническим причинам, то есть ответы были недопустимыми для продолжения работы.
Причины появления ошибки 502
- Веб-сервер выключен.
- При настройке веб-сервера допущена ошибка в конфигурации.
- Для работы сайта недостаточно оперативной памяти или других ресурсов. Например, при DDoS-атаке на сайт, когда на обработку «паразитных» запросов затрачиваются все имеющиеся у веб-сервера ресурсы.
- Произошла ошибка при работе с памятью в скрипте, что часто встречается при использовании старых версий PHP.
- Время выполнения скрипта превысило установленные на сервере ограничения.
Способы устранения ошибки 502 Bad Gatеway
- Проанализируйте текущий уровень общей нагрузки для сервера и в момент возникновения ошибки. На хостинге RU-CENTER это можно сделать в панели управления хостингом в разделе «Ресурсы» — «Статистика». Обратите внимание на пики потребления оперативной памяти.
- Проверьте лог-файл веб-сервера (/var/log/error_log). При обнаружении в нём подозрительных сообщений, связанных с выделением оперативной памяти, обратитесь в техподдержку.
- Проверьте оптимальность работы используемых на сайте скриптов, оцените скорость обработки запросов. Иногда долгое ожидание может быть связано с обработкой большого объёма данных или с обращением к внешним ресурсам. В этих случаях откажитесь от таких операций или выполните их оптимизацию.
503 Service temporarily unavailable
Ошибка означает, что в течение некоторого времени сервер не сможет обрабатывать запросы из-за технических неисправностей.
Причины появления ошибки 503
- Передача большого объёма данных.
- Превышено время ожидания загрузки.
- Большое количество запросов к серверу.
- На хостинге RU-CENTER данный код может выдаваться при обращении к сайту, которого на хостинге не существует.
Способы устранения ошибки 503 Service temporarily unavailable
Если на сайте все процессы (код, скрипты) работают без перебоев, вероятно, причина 503 ошибки в недостаточном количестве ресурсов. Проблему можно решить путем перехода на более производительный тариф или сервер.
504 Gateway Timeout
Код ошибки указывает, что серверу не хватило времени, чтобы получить ответ от другого сервера для завершения операции. Как правило, среднее время загрузки не должно превышать 1-3 секунды.
Причины появления ошибки 504
- Долгая обработка запроса скриптами сайта.
- Обработка большого количества данных.
- В ряде случаев причины появления ошибки 504 могут совпадать с аналогичными для ошибки 502.
Способы устранения ошибки 504 Gateway Timeout
Нужно проверить, что происходит на сервере в момент появления ошибки 504. Если обрабатываются большие объёмы данных или выполняются операции, требующие длительного времени, настройте эти операций не через браузер, а с помощью планировщика заданий или по SSH.
Также для устранения ошибки можно попробовать увеличить в настройках PHP время выполнения скрипта (max_execution_time) и время получения данных (max_input_time).
Ошибка 505
Ошибка 505 появляется при использовании неподдерживаемой браузером версии HTTP.
Причины появления ошибки 505
- Заражение вирусом, который получил контроль над браузером или исходящим трафиком.
- Использование устаревшего браузера, не поддерживающего современные версии HTTP.
- Сервер не поддерживает новые версии протокола, по которым осуществляется соединение.
Способы устранения ошибки 505 HTTP Version not supported
- Поиск вирусов. Вредоносная программа может повредить и удалить файлы, необходимые браузеру для определения состояний.
- Обновление системы. Вы можете избежать не только появления ошибки 505, но и ряда других проблем, используя актуальную версию ОС и/или браузера. Если вы отключили автоматические обновления, рекомендуем скачать и установить их.
Если ошибка 505 возникла при обращении к вашему сайту, проверьте актуальность используемого программного обеспечения на веб-сервере.
Туториал: как исправить ошибки сервера
Коды ошибок, которые начинаются с цифры 5, говорят о проблемах на стороне сервера. Но это не значит, что советы по их исправлению будут интересны только администраторам выделенных серверов. Узнаем, что нужно делать с пятисотыми ошибками и владельцу VPS, и пользователю виртуального хостинга.
500 Internal Server Error (Внутренняя ошибка сервера)
Серверу не удалось обработать запрос к сайту. Возможных причин для этого может быть много, но сузить их круг можно, восстановив последовательность ваших действий перед сообщением об ошибке. Также изучите само сообщение: комментарий «Internal Server Error» говорит о проблемах с файлом .htaccess, текст «HTTP ERROR 500» — о проблемах со скриптами, а текст «PHP Parse error: syntax error, unexpected» или «Internal Server Error nginx» — о неполадках в CMS.
1. Проверьте сайт, созданный с помощью CMS, на наличие проблем с плагинами или ошибок в коде. В этом вам могут лог-файлы. При обнаружении проблемного плагина обновите его или верните прежнюю версию. Если это не помогло, откажитесь от него. Если ошибка произошла после обновления CMS, проведите обновление повторно.
2. Посмотрите файл .htaccess на предмет ошибок в командах. Закомментируйте директиву Options, поставив перед ней решётку: если после этого ошибка 500 перестанет появляться, значит, есть нарушения в синтаксисе и в описании команд.
3. Убедитесь, что права доступа к файлам, папкам и скриптам выставлены верно. Для папок рекомендуется значение 755, для скриптов — 600, а для других файлов — 644. При других вариантах прав доступ к сайту может блокироваться в целях безопасности.
4. Проверьте, всё ли в порядке со скриптами. Возможно, какой-то из скриптов слишком медленный или время ожидания ответа от сервера слишком мало. Если при просмотре лог-файлов выяснится, что какой-то из скриптов незапланированно требует слишком много памяти, оптимизируйте его или удалите. А если обнаружится, что какой-то из скриптов вовсе не запускается, убедитесь, что функция прописана верно, поддерживается сервером и соответствует используемой версии PHP.
5. Отдельно обратите внимание на CGI-скрипты: вероятно, строки в них имеют не те окончания, что исправляется загрузкой скриптов через FTP в режиме ASCII. Также некорректная работа CGI-скриптов может быть причиной ошибок в HTTP-заголовках, что тоже приводит к ошибке 500. Либо же имеются ошибочные директивы, предназначенные для работы со скриптами.
502 Bad Gateway (Ошибочный шлюз)
Разбираться с этой ошибкой нужно лишь тогда, когда она появляется регулярно. А говорит она о перегруженности сервера или о неполадках в его работе, в связи с чем он посылает недопустимые для продолжения работы ответы.
1. Перезагрузите страницу. Зайдите на любой другой сайт, которой точно должен работать в данный момент. Это поможет узнать, есть ли у вас доступ к интернету в принципе. Если доступ есть, очистите файлы cookies в браузере, а затем посетите сайт снова.
2. Убедитесь, что на ваш сайт не совершается DDoS-атака. В противном случае обратитесь к хостинг-провайдеру.
3. Если на вашем ресурсе фиксируется значительный рост посещаемости, то подберите более продвинутые условия хостинга, чтобы ошибка не появлялась вновь.
4. Проверьте нагрузку на сервер. Если лимит превышается, необходимо увеличить объём оперативной памяти.
5. Посмотрите настройки сервера. Возможными поводами для появления ошибки 502 могут быть:
• неполадки после установки обновлений;
• превышение лимитов на число обращений к внешним ресурсам и на время ответа сервера;
• некорректные лимиты в файлах конфигурации ini;
• превышение лимита на число php-cgi-процессов;
• недостаточная оптимизация скриптов;
• недостаточная оптимизация запросов;
• неправильная работа модулей (если ошибка возникает при обращении к скриптам конкретного расширения).
6. Если ошибка продолжает появляться и если вы пользуетесь виртуальным хостингом, уточните у хостинг-провайдера, не создают ли другие сайты на сервере чрезмерную нагрузку.
503 Service Unavailable (Сервис недоступен)
Сервер не работает из-за перегрузок. Либо же происходит плановая перезагрузка или отключение сервера: в этом случае вместе с сообщением об ошибке после слов «Retry-After» должно отображаться время, когда сервер вернётся в работу. Если же ошибка 503 появляется часто и не по причине плановых работ, то это говорит о неполадках, которые следует устранить.
1. Сначала просто подождите. Возможно, причина в длинной очереди запросов к серверу, что не требует вмешательства.
2. Как и в случае с ошибкой 502, удостоверьтесь, что на сайт не производится DDoS-атака.
3. Если используется связь с удалённым сервером, убедитесь, что она стабильная, а тайм-аут ожидания ответа невысокий.
4. Проверьте, не слишком ли активно посещают ваш сайт поисковые роботы. Если это имеет место быть, ограничьте их активность.
5. Удалите тяжёлые или вовсе ненужные плагины и компоненты.
6. Если возможно, оптимизируйте подгрузку файлов сайта, чтобы снизить число запросов.
7. Организуйте передачу больших статичных файлов напрямую, а не через скрипты.
8. Оптимизируйте почтовую рассылку: распределяйте отправку писем по времени, запускайте рассылку в часы наименьшей нагрузки.
9. Оптимизируйте SQL-запросы, выявите самые медленные из них с помощью лог-файлов.
504 Gateway Timeout (Шлюз не отвечает)
Один из серверов не дождался ответа от вышестоящего сервера, о чём сообщает кодом 504.
1. Перезагрузите страницу, убедитесь в стабильности работы сетевых устройств.
2. Как и в предыдущих случаях, проверьте работу скриптов. Важно, чтобы они выполнялись не слишком долго, а внешние соединения происходили успешно.
3. При чрезмерной нагрузке на сервер увеличьте его ресурсы или оптимизируйте сайт.
4. Если возможно, увеличьте время ожидания при использовании nginx как прокси-сервера для Apache. Для этого добавьте эти строки в блоке server в файле nginx.conf:
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 600;
5. Если у вас нет возможности менять настройки сервера, обратитесь к хостинг-провайдеру.
Также посмотрите ответы на вопросы из нашего раздела FAQ:
- Отчего возникает ошибка 500?
- Отчего возникает ошибка 503?
- Как изменить страницы ошибок 403, 404 и 500?
Кстати, недавно мы в целом рассказали о кодах состояния сервера, к которым относятся в том числе и коды ошибок.
title | description | tags | keywords | ms.assetid | ms.topic | ms.date | ms.custom |
---|---|---|---|---|---|---|---|
Fix HTTP 502 and HTTP 503 errors |
Troubleshoot 502 bad gateway and 503 service unavailable errors in your app hosted in Azure App Service. |
top-support-issue |
502 bad gateway, 503 service unavailable, error 503, error 502 |
51cd331a-a3fa-438f-90ef-385e755e50d5 |
article |
07/06/2016 |
seodec18 |
Troubleshoot HTTP errors of «502 bad gateway» and «503 service unavailable» in Azure App Service
«502 bad gateway» and «503 service unavailable» are common errors in your app hosted in Azure App Service. This article helps you troubleshoot these errors.
If you need more help at any point in this article, you can contact the Azure experts on the MSDN Azure and the Stack Overflow forums. Alternatively, you can also file an Azure support incident. Go to the Azure Support site and click on Get Support.
Symptom
When you browse to the app, it returns a HTTP «502 Bad Gateway» error or a HTTP «503 Service Unavailable» error.
Cause
This problem is often caused by application level issues, such as:
- requests taking a long time
- application using high memory/CPU
- application crashing due to an exception.
Troubleshooting steps to solve «502 bad gateway» and «503 service unavailable» errors
Troubleshooting can be divided into three distinct tasks, in sequential order:
- Observe and monitor application behavior
- Collect data
- Mitigate the issue
App Service gives you various options at each step.
1. Observe and monitor application behavior
Track Service health
Microsoft Azure publicizes each time there is a service interruption or performance degradation. You can track the health of the service on the Azure Portal. For more information, see Track service health.
Monitor your app
This option enables you to find out if your application is having any issues. In your app’s blade, click the Requests and errors tile. The Metric blade will show you all the metrics you can add.
Some of the metrics that you might want to monitor for your app are
- Average memory working set
- Average response time
- CPU time
- Memory working set
- Requests
For more information, see:
- Monitor apps in Azure App Service
- Receive alert notifications
2. Collect data
Use the diagnostics tool
App Service provides an intelligent and interactive experience to help you troubleshoot your app with no configuration required. When you do run into issues with your app, the diagnostics tool will point out what’s wrong to guide you to the right information to more easily and quickly troubleshoot and resolve the issue.
To access App Service diagnostics, navigate to your App Service app or App Service Environment in the Azure portal. In the left navigation, click on Diagnose and solve problems.
Use the Kudu Debug Console
App Service comes with a debug console that you can use for debugging, exploring, uploading files, as well as JSON endpoints for getting information about your environment. This is called the Kudu Console or the SCM Dashboard for your app.
You can access this dashboard by going to the link https://<Your app name>.scm.azurewebsites.net/.
Some of the things that Kudu provides are:
- environment settings for your application
- log stream
- diagnostic dump
- debug console in which you can run PowerShell cmdlets and basic DOS commands.
Another useful feature of Kudu is that, in case your application is throwing first-chance exceptions, you can use Kudu and the SysInternals tool Procdump to create memory dumps. These memory dumps are snapshots of the process and can often help you troubleshoot more complicated issues with your app.
For more information on features available in Kudu, see
Azure Websites online tools you should know about.
3. Mitigate the issue
Scale the app
In Azure App Service, for increased performance and throughput, you can adjust the scale at which you are running your application. Scaling up an app involves two related actions: changing your App Service plan to a higher pricing tier, and configuring certain settings after you have switched to the higher pricing tier.
For more information on scaling, see Scale an app in Azure App Service.
Additionally, you can choose to run your application on more than one instance . This not only provides you with more processing capability, but also gives you some amount of fault tolerance. If the process goes down on one instance, the other instance will still continue serving requests.
You can set the scaling to be Manual or Automatic.
Use AutoHeal
AutoHeal recycles the worker process for your app based on settings you choose (like configuration changes, requests, memory-based limits, or the time needed to execute a request). Most of the time, recycle the process is the fastest way to recover from a problem. Though you can always restart the app from directly within the Azure Portal, AutoHeal will do it automatically for you. All you need to do is add some triggers in the root web.config for your app. Note that these settings would work in the same way even if your application is not a .NET one.
For more information, see Auto-Healing Azure Web Sites.
Restart the app
This is often the simplest way to recover from one-time issues. On the Azure Portal, on your app’s blade, you have the options to stop or restart your app.
You can also manage your app using Azure PowerShell. For more information, see
Using Azure PowerShell with Azure Resource Manager.
The 503 Service Unavailable error is an HTTP status code that means a website’s server is not available right now. Most of the time, it occurs because the server is too busy or maintenance is being performed on it.
A 503 error message can be customized by the website it appears on or the server software that generates it, so how you might see it vary greatly.
How to Fix the 503 Service Unavailable Error
Since the 503 Service Unavailable error is a server-side error, the problem is usually with the website’s server. Your computer may have an issue causing the 503 error, but it’s not likely.
Regardless, there are a few things you can try:
-
Retry the URL from the address bar again by selecting Reload or Refresh, the F5 key, or the Ctrl+R keyboard shortcut.
Even though the 503 Service Unavailable error means there’s an error on another computer, the issue is probably only temporary. Sometimes just trying the page again will work.
If the 503 Service Unavailable error message appears while paying for an online purchase, be aware that multiple attempts to check out may end up creating multiple orders and multiple charges. Most payment systems and some credit card companies have protections from this kind of thing, but it’s still something you should know.
-
Restart your router and modem. Then restart your computer or device, especially if you see the Service Unavailable — DNS Failure error.
While the 503 error is still most likely the fault of the website you’re visiting, there may be an issue with the DNS server configurations on your router or computer, which a simple restart of both might correct.
-
Another option is to contact the website directly for help. There’s a good chance that the site’s administrators already know about the 503 error, but letting them know, or checking the status on the problem, isn’t a bad idea.
Most sites have support-based social network accounts, and some even have phone numbers and email addresses.
If the website giving the 503 error is a popular one, and you think it might be down completely, check if the website is down by plugging its URL into a service like Freshping’s Is it down tool. A smart Twitter search can usually give you the answer, too. Try searching for #websitedown on Twitter, replacing website with the site name, as in #facebookdown or #youtubedown. An outage on a prominent site will usually generate lots of talk on Twitter.
-
Come back later. Since the 503 Service Unavailable error is a common error message on trendy websites when a massive increase in traffic by visitors is overwhelming the servers, simply waiting it out is often your best bet. Frankly, this is the most likely «fix» for a 503 error. As more and more visitors leave the website, the chances of a successful page load for you increase.
Fixing 503 Errors on Your Own Site
With so many different web server options out there and even more general reasons why your service might be unavailable, there isn’t a straightforward «thing to go do» if your site is giving your users a 503.
That said, there are certainly some places to start looking for a problem and then hopefully a solution.
Start by taking the message literally—has something crashed? Restart running processes and see if that helps.
Beyond that, look at not-so-obvious places where something might have hiccuped. Where applicable, look at connection limits, bandwidth throttling, overall system resources, fail-safes that might have triggered, etc.
In what’s very likely a «double-edged sword» for your website, it may be that it’s suddenly very, very popular. Getting more traffic than you built your site to handle almost always triggers a 503.
However, the 503 error could also result from a malicious denial of service (DoS) attack. If so, getting into contact with the company hosting your website would be wise to discuss steps that you can take to reduce the likelihood of it happening again or to better prepare for another in the future.
Even an unintentional DoS attack can occur, where a virus on the server is sucking away usable system resources and slowing the server down to the point that it causes a 503 error.
Most Common Ways You Might See the 503 Error
503 Service Unavailable errors can appear in any browser in any operating system, including Windows 10 back through Windows XP, macOS, Linux, etc…even your smartphone or other nontraditional computers. If it has internet access, you could see a 503 in certain situations.
Here are the most common ways you might see the «service unavailable» error:
- 503 Service Unavailable
- 503 Service Temporarily Unavailable
- Http/1.1 Service Unavailable
- HTTP Server Error 503
- Service Unavailable — DNS Failure
- 503 Error
- HTTP 503
- HTTP Error 503
- Error 503 Service Unavailable
- Error 503 Backend fetch failed
The 503 Service Unavailable error displays inside the browser window, just as web pages do.
Sites that use Microsoft IIS may provide more specific information about the cause of a 503 Service Unavailable error by suffixing a number after the 503, as in HTTP Error 503.2 — Service Unavailable, which means Concurrent request limit exceeded. See More Ways You Might See a 503 Error near the bottom of the page for the whole list.
More Ways You Might See a 503 Error
In Windows applications that inherently access the internet, a 503 error might return with the HTTP_STATUS_SERVICE_UNAVAIL error, and maybe also with a The service is temporarily overloaded message.
Windows Update might also report an HTTP 503 error, but it will display as error code 0x80244022 or with a WU_E_PT_HTTP_STATUS_SERVICE_UNAVAIL message.
Some less common messages include 503 Over Quota and Connection Failed (503), but the troubleshooting above applies all the same.
If the website that reports the 503 error happens to be running Microsoft’s IIS web server software, you might get a more specific error message like one of these:
IIS 503 Errors | |
---|---|
Status Code | Reason Phrase |
503.0 | Application pool unavailable |
503.2 | Concurrent request limit exceeded |
503.3 | ASP.NET queue full |
503.4 | FastCGI queue full |
Errors Like 503 Service Unavailable
The 503 Service Unavailable error is a server-side error. It’s very much related to other server-side errors like the 500 Internal Server Error, the 502 Bad Gateway error, and the 504 Gateway Timeout error, among others.
Several client-side HTTP status codes exist, too, like the standard 404 Not Found error, among others.
FAQ
-
When is a 503 Error likely to appear?
You can encounter a 503 error pretty much any time you’re visiting a website or using an online service. It’s sometimes possible to anticipate these errors, such as when a small website suddenly receives an unexpected surge in attention it wasn’t built for. However, more often than not it comes down to timing and bad luck whether or not you’ll encounter one.
-
Can a 503 Error appear with any other messages?
Yes. It can also appear as Varnish Cache Server: Error 503 Service Unavailable or Error 503: Backend Unhealthy or error when calling aws apis. error details — serializationerror: 503 service unavailable. Regardless of how the message appears, the main terms to look out for are 503 and Error.
-
What should I do if I get a 503 Error when I open Safari on my Mac?
This probably means that whatever website you’ve set as Safari’s home page default is experiencing trouble. Aside from waiting a bit and trying again, or restarting Safari or your Mac, you can also change Safari’s home page to a different URL.
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe