Содержание
что значит и как исправить
Мы увеличиваем посещаемость и позиции в выдаче. Вы получаете продажи и платите только за реальный результат, только за целевые переходы из поисковых систем
Заказывайте честное и прозрачное продвижение
Получи нашу книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».
Подпишись на рассылку и получи книгу в подарок!
Ошибка 502 («Bad Gateway», «ошибка шлюза, сервера 502» и проч.) — означает, что запрос, отправленный браузером клиента к серверу не достиг адресата назначения.
Больше видео на нашем канале — изучайте интернет-маркетинг с SEMANTICA
Представьте, что вы хотите попасть в известный ночной клуб. И все хотят. Фейс-контроль пропустил туда первых 50 человек из очереди. А остальным приходится ждать, когда из клуба не выйдет хотя бы один человек. Иначе бармены просто не будут справляться с таким количеством заказов, да и сохранять порядок будет намного сложнее.
Точно то же происходит на веб-сервере, если он, по каким-либо причинам, не может обслуживать все поступающие к нему запросы, включаются внутренняя защита, запрещающая пускать новых пользователей до тех пор, пока сервер не освободится.
Что означает ошибка 502
На любом сервере есть максимальное число возможных подключений. Иногда превышение этого уровня становится причиной возникновения ошибки.
Одновременно зашло слишком много пользователей
Известный конфуз “удачной” рекламной кампании заключается в том, что созданный информационный пиар привлекает посетителей настолько активно, что сайт падает под полученной нагрузкой.
Также, превышение лимита подключений может быть одним из признаков DDos-атаки хакеров, для намеренного отключения вашего портала.
Возникли проблемы на хостинге
Если вы пользуетесь услугами обычного хостера, может возникать оверселлинг, при котором запросы, приходящие на “соседствующие” сайты положат и Ваш сайт вместе с ними.
Будет полезно уточнить у администрации хостинга, что за ошибка 502 bad gateway возникла на сайте, и не причастны ли к этому ваши “веб-соседи”
Плохо настроен сервер
Возможно, перед появлением ошибки шлюза 502 Вы выполняли обновление сайта, которое повлекло за собой проблемы несовместимости отдельных утилит или аппаратной части с программной.
Проблемы подключаемых модулей
Если ошибка сервера 502 возникает лишь при обращении к скриптам определённого расширения, например PHP, возможно причина состоит в неправильной работе именно этого модуля сервера.
Как исправить ошибку 502 BAD GATEWAY
Пути исправления кода ошибки 502 Bad Gateway довольно различны и состоят в верной диагностике причин, вызвавших неполадки. Основные советы следующие.
- Запустите анализ аппаратной производительности. Если в момент появления ошибки оперативная память стала использоваться на пределе, постарайтесь увеличить ее объем
- Проверьте файлы конфигураций INI. Вполне возможно, что там просто стоят слишком низкие предельные лимиты — сервер мог обработать запрос, но файл конфигурации выставил запрет.
- Оптимизируйте работу скриптов. Постарайтесь не делать лишних запросов, разделите сайт на FRONTEND и BACKEND, используйте качественно настроенные популярные связки, такие как nginx + Apache для отдачи статики.
- Если вы явно диагностировали проблему не у себя, а у провайдера, задумайтесь о покупке выделенного сервера или смене хостинга.
502 Плохой шлюз Код ошибки сервера HyperText Transfer Protocol (HTTP)502 Bad Gateway указывает на то,что сервер,действуя как прокси,получил недействительный ответ от вышестоящего источника.
Код ошибки сервера HyperText Transfer Protocol (HTTP)502 Bad Gateway указывает на то,что сервер,действуя в качестве шлюза или прокси,получил недопустимый ответ от вышестоящего сервера.
Как правило, неисправный шлюз с ошибкой 502 указывает на проблему с сервером веб-сайта, а не на вашу сторону. Это означает, что вам не нужно идти и исследовать свой маршрутизатор или проверять, не перегрызла ли мышь кабель Ethernet.
Ошибка 502 Bad Gateway — это общий показатель того, что что-то не так со связью веб-сайта с сервером. Поскольку это всего лишь общая ошибка, она на самом деле не говорит вам о точной проблеме веб-сайта. Когда это произойдет, ваш веб-сайт будет показывать посетителям веб-страницу с ошибкой, как показано на фотографии ниже.
Ошибка HTTP 502 — неверный шлюз возникает в следующих случаях: Время ожидания прокси-сервера истекло до завершения запроса. Если соединение прокси > сервер падает. Когда ответ сервера недействителен.
Что это значит? Сообщение 502 о плохом шлюзе указывает на то, что один сервер получил неверный ответ от другого. По сути, вы подключились к какому-то промежуточному устройству (например, пограничному серверу), которое должно получать все биты, необходимые для загрузки страницы.
Эта ошибка возникает,когда CGI-приложение не возвращает корректный набор HTTP-заголовков,или когда прокси-сервер или шлюз не смог отправить запрос на родительский шлюз.Вам может понадобиться получить трассировку сети или связаться с администратором прокси-сервера,если это не проблема CGI.
Таймаут шлюза 504 означает сетевую ошибку между серверами в Интернете.Это код состояния HTTP означает,что один сервер не получил своевременного ответа или отклика от другого сервера,к которому он обращался при попытке загрузить веб-страницу или загрузить другой запрос браузера.
Код ответа на ошибку сервера 502 Bad Gateway
по протоколу передачи гипертекста (HTTP) указывает, что сервер, выступая в качестве шлюза или прокси, получил недопустимый ответ от вышестоящего сервера.
Примечание: Шлюз может относиться к разным вещам в сети и ошибка 502, как правило , не то , что вы можете исправить, но требует исправления с помощью веб — сервера или прокси, которые пытаются получить доступ через.
Status
502 Bad Gateway
Specifications
Specification |
---|
HTTP-семантика # status.502 |
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | |
502 | Yes | 12 | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
See also
504
- HTTP/1.1:Определения кода состояния
-
1 -
… -
403 -
404 -
405 -
406 -
407 -
… -
413 -
Next
503 Сервис недоступен
httpresponse — что в HTTP 502 подразумевается под недопустимым ответом?
спросил
Изменено
2 года, 10 месяцев назад
Просмотрено
9к раз
Я пытаюсь проверить сервер, чтобы увидеть, ведет ли он себя в соответствии с приведенным ниже определением, и для этого мне нужно создать и отправить недопустимый ответ серверу шлюза от вышестоящего сервера. Спецификация HTTP говорит следующее о коде состояния 502 — Bad Gateway.
Код состояния 502 (Bad Gateway) указывает на то, что сервер, хотя
выступая в качестве шлюза или прокси, получил недопустимый ответ от
входящий сервер, к которому он обращался при попытке выполнить запрос.
Но что именно представляет собой недопустимый ответ? Считается ли нестандартный код ответа (скажем, какое-то случайное число, например 6789) недопустимым ответом? Или ответ с недопустимой версией HTTP?
Наткнулся на это: 502 Код состояния HTTP, в котором говорится, что неполные заголовки и тела ответов могут вызывать ошибки 502. Как сервер определяет, являются ли заголовки или тело неполными? И что еще более важно, можно ли создать такой ответ программно (я использую Java)?
- http
- httpresponse
- rfc
- соответствие стандартам
Мне удалось найти следующее в спецификации HTTP (RFC7230, раздел 3. 3.3).
Если сообщение получено без Transfer-Encoding и с
либо несколько полей заголовка Content-Length, имеющих разные
значения поля или одно поле заголовка Content-Length, имеющее
недопустимое значение, то структура сообщения недействительна и
получатель ДОЛЖЕН рассматривать это как неисправимую ошибку. Если это
сообщение запроса, сервер ДОЛЖЕН ответить 400 (неверный запрос)
код состояния, а затем закройте соединение. Если это ответ
сообщение, полученное прокси, прокси ДОЛЖЕН закрыть соединение
на сервер, отбросить полученный ответ и отправить клиенту ответ 502 (Bad Gateway). Если это ответное сообщение
полученный агентом пользователя, агент пользователя ДОЛЖЕН закрыть
подключение к серверу и отбросить полученный ответ.
Помимо этого, я также заметил, что Nginx возвращает 502 при работе в качестве обратного прокси/балансировщика нагрузки, когда вышестоящий сервер не работает.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Скрапинг с помощью rvest: Получение ошибки HTTP 502
Задай вопрос
спросил
Изменено
3 года, 5 месяцев назад
Просмотрено
1к раз
У меня есть сценарий R, который использует rvest для извлечения некоторых данных из accuweather. В URL-адресах accuweather есть идентификаторы, которые однозначно соответствуют городам. Я пытаюсь получить идентификаторы в заданном диапазоне и связанные с ними названия городов. Сам rvest отлично работает для одного идентификатора, но когда я повторяю цикл for, он в конечном итоге возвращает эту ошибку — «Ошибка в open.connection(x, «rb»): ошибка HTTP 502.»
Я подозреваю, что эта ошибка связана с тем, что веб-сайт заблокировал меня. Как мне обойти это? Я хочу очистить довольно большой диапазон (10 000 идентификаторов), и он продолжает выдавать мне эту ошибку после ~ 500 итераций цикла. Я также пробовал closeAllConnections()
и Sys.sleep()
, но безрезультатно. Я был бы очень признателен за любую помощь с этой проблемой.
РЕДАКТИРОВАТЬ: Решено . Я нашел способ обойти это через этот поток здесь: Используйте tryCatch для перехода к следующему значению цикла при ошибке? я использовал tryCatch()
с ошибкой = function(e) e
в качестве аргумента, подавляет сообщение об ошибке и позволяет циклу продолжаться без прерывания. Надеюсь, это будет полезно для всех, кто столкнулся с похожей проблемой.
библиотека(рвест) библиотека (HTTR) # создаем матрицу для хранения идентификаторов и городов # каждый ID соответствует одному городу id_mat <- матрица (0, ncol = 2, nrow = 10001) # инициализируем индекс строки матрицы дж = 1 для (я в 300000:310000){ z <- as.character(i) # получить название города с веб-сайта accu <- read_html(paste("https://www.accuweather.com/en/us/new-york-ny/10007/june-weather/", z, sep = "")) состояние города <- accu %>% html_nodes('h2') %>% html_text() # сохранить значения id_mat[j,1] = я id_mat[j,2] = город-государство # увеличить на 1 я = я + 1 дж = дж + 1 # закрываем соединение после 200 запросов, ждем 5 минут и снова зацикливаем если (я %% 200 == 0) { закрыть все соединения () Системный сон(300) следующий } еще { # спать 1 или 2 секунды в каждом цикле Sys.sleep (образец (2,1)) } }
- просмотр веб-страниц
- rvest
- http-ошибка
Проблема, похоже, связана с научной нотацией.
Как отключить экспоненциальное представление?
Я немного изменил ваш код, теперь он вроде работает:
библиотека(rvest)
библиотека (HTTR)
id_mat <- матрица (0, ncol = 2, nrow = 10001) readUrl <- функция (url) { out <- tryCatch( { download.file(url, destfile = "scrapedpage.html", тихий = TRUE) возврат(1) }, ошибка = функция (условие) { возврат(0) }, предупреждение = функция (условие) { возврат(0) } ) возврат (выход) } дж = 1 варианты(науки = 999) для (я в 300000:310000){ z <- as.character(i) # получить название города с веб-сайта url <- paste("https://www.accuweather.com/en/us/new-york-ny/10007/june-weather/", z, sep = "") если (readUrl (url) == 1) { download.file(url, destfile = "scrapedpage.html", тихий = TRUE) accu <- read_html("scrapedpage.html") состояние города <- accu %>% html_nodes('h2') %>% html_text()
# сохранить значения
id_mat[j,1] = я
id_mat[j,2] = город-государство
# увеличить на 1
я = я + 1
дж = дж + 1
# закрываем соединение после 200 запросов, ждем 5 минут и снова зацикливаем
если (я %% 200 == 0) {
закрыть все соединения ()
Системный сон(300)
следующий
} еще {
# спать 1 или 2 секунды в каждом цикле
Sys.