TroubleshootingВ¶
Checking WFS requestsВ¶
It often happens that users report issues with hand made WFS requests not working as expected. In the majority of the cases the request is malformed, but GeoServer does not complain and just ignores the malformed part (this behaviour is the default to make older WFS clients work fine with GeoServer).
If you want GeoServer to validate most WFS XML request you can post it to the following URL:
Any deviation from the required structure will be noted in an error message. The only request type that is not validated in any case is the INSERT one (this is a GeoServer own limitation).
Leveraging GeoServer own logВ¶
Logging service requestsВ¶
GeoServer provides a request logging filter that is normally inactive. The filter can log both the requested URL and POST requests contents. Normally it is disabled due to its overhead. If you need to have an history of the incoming requests you can enable it by changing the geoserver/WEB-INF/web.xml contents to look like:
This will log both the requests and the bodies, resulting in something like the following:
Using JDK tools to get stack and memory dumpsВ¶
All tools work against a live Java Virtual Machine, the one running GeoServer in particular. In order for them to work properly you’ll have to run them with a user that has enough privileges to connect to the JVM process, in particular super user or the same user that’s running the JVM usually have the required right.
jps is a tool listing all the Java processing running. It can be used to retried the pid (process id) of the virtual machine that is running GeoServer. For example:
jstackВ¶
jstack is a tool extracting a the current stack trace for each thread running in the virtual machine. It can be used to identify scalability issues and to gather what the program is actually doing.
It usually takes people knowing about the inner workings of GeoServer can properly interpret the jstack output.
An example of usage:
And the file contents might look like:
jmapВ¶
jmap is a tool to gather information about the a Java virtual machine. It can be used in a few interesting ways.
By running it without arguments (past the pid of the JVM) it will print out a dump of the native libraries used by the JVM. This can come in handy when one wants to double check GeoServer is actually using a certain version of a native library (e.g., GDAL):
It’s also possible to get a quick summary of the JVM heap status:
In the result it can be seen that the JVM is allowed to use up to 742MB of memory, and that at the moment the JVM is using 130MB (rough sum of the capacities of each heap section). In case of a persistent memory leak the JVM will end up using whatever is allowed to and each section of the heap will be almost 100% used.
By the dump we can see most of the memory is used by the GeoServer code itself (first 5 items) followed by the HSQL cache holding a few rows of the EPSG database. In case of a memory leak a few object types will hold the vast majority of the live heap. Mind, to look for a leak the dump should be gathered with the server almost idle. If, for example, the server is under a load of GetMap requests the main memory usage will be the byte[] holding the images while they are rendered, but that is not a leak, it’s legitimate and temporary usage.
In case of memory leaks a developer will probably ask for a full heap dump to analyze with a high end profiling tool. Such dump can be generated with the following command:
The dump files are generally as big as the memory used so it’s advisable to compress the resulting file before sending it to a developer.
XStreamВ¶
GEOSERVER_XSTREAM_WHITELIST and GEOWEBCACHE_XSTREAM_WHITELIST should only be used as a workarround until GeoServer, GWC, or the extension causing the problem has been updated, so please report to the users list the missing classes as soon as possible.
WMS referenceВ¶
IntroductionВ¶
The OGC Web Map Service (WMS) specification defines an HTTP interface for requesting georeferenced map images from a server. GeoServer supports WMS 1.1.1, the most widely used version of WMS, as well as WMS 1.3.0.
The relevant OGC WMS specifications are:
GeoServer also supports some extensions to the WMS specification made by the Styled Layer Descriptor (SLD) standard to control the styling of the map output. These are defined in:
Benefits of WMSВ¶
WMS provides a standard interface for requesting a geospatial map image. The benefit of this is that WMS clients can request images from multiple WMS servers, and then combine them into a single view for the user. The standard guarantees that these images can all be overlaid on one another as they actually would be in reality. Numerous servers and clients support WMS.
OperationsВ¶
WMS requests can perform the following operations:
Operation
Description
If an exception occur
Retrieves metadata about the service, including supported operations and parameters, and a list of the available layers
Retrieves a map image for a specified area and content
Retrieves the underlying data, including geometry and attribute values, for a pixel location on a map
Indicates the WFS or WCS to retrieve additional information about the layer.
Retrieves a generated legend for a map
ExceptionsВ¶
Formats in which WMS can report exceptions. The supported values for exceptions are:
Format
Syntax
Notes
Xml output. (The default format)
Generates an image
Generates a blank image
Simple Json representation.
Return a JsonP in the form: paddingOutput(…jsonp…). See WMS vendor parameters to change the callback name. Note that this format is disabled by default (See Global variables affecting WMS ).
GetCapabilitiesВ¶
The GetCapabilities operation requests metadata about the operations, services, and data (“capabilities”) that are offered by a WMS server.
The parameters for the GetCapabilities operation are:
Parameter
Required?
Description
GeoServer provides the following vendor-specific parameters for the GetCapabilities operation. They are fully documented in the WMS vendor parameters section.
Parameter
Required?
Description
limits response to layers in a given namespace
request the capabilities document in a certain format
Flag to enable/disable the standard Root top level Layer element. Values are true or false. When false, the Root element will be included only if there are multiple top level layers, if there is only one, it will be the root layer itself. When specified, will override the global WMS setting or layer / group setting for the same behaviour.
A example GetCapabilities request is:
The response is a Capabilities XML document that is a detailed description of the WMS service. It contains three main sections:
Service
Contains service metadata such as the service name, keywords, and contact information for the organization operating the server.
Request
Describes the operations the WMS service provides and the parameters and output formats for each operation. If desired GeoServer can be configured to disable support for certain WMS operations.
Layer
Lists the available coordinate systems and layers. In GeoServer layers are named in the form “namespace:layer”. Each layer provides service metadata such as title, abstract and keywords.
GetMapВ¶
The standard parameters for the GetMap operation are:
Проблемы с GeoServer
Вызывается: java.lang.RuntimeException: невозможно получить соединение: невозможно создать PoolableConnectionFactory (FATAL: аутентификация пароля для пользователя “postgres”)
Причина: org.apache.commons.dbcp.SQLNestedException: не удается создать PoolableConnectionFactory (FATAL: аутентификация пароля для пользователя “postgres”)
Вызвано: org.postgresql.util.PSQLException: FATAL: аутентификация пароля не удалась для пользователя “postgres”
ERROR [geotools.jdbc] – код, использующий хранилище данных на основе JDBC и не удаляющий их. Это может привести к временной потере соединений с базой данных. Убедитесь, что весь код доступа к данным вызывает DataStore.dispose(), прежде чем освободить все ссылки на него.
Единственное, что может вызвать это внезапно, – это истечение срока действия пароля в PostgreSQL, хотя это не типично. Скорее всего, пароль изменился на одной из сторон, поэтому сначала проверьте это.
PostgreSQL позволяет указать, что срок действия пароля истекает с определенной меткой времени. Так что вы можете:
И foo сможет войти с паролем “bar” до следующего дня в системное время….
Поэтому, если вы можете проверить, что пароль не изменился с обеих сторон, попробуйте следующее:
Я думаю, что, скорее всего, пользователь postgres настроен так, чтобы принимать логины только с локальной машины. Вам нужно будет настроить его для приема логинов с имени компьютера или IP-адреса, с которого вы входите, или даже лучше создать нового пользователя, у которого есть только необходимые разрешения для входа, а не с помощью пользователя postgres администратора deffault. Даже если вы находитесь на одной машине с использованием eclipse, возможно, это выглядит так, как будто вы используете другую машину в зависимости от вашей конфигурации.
См. Здесь и здесь о настройке этого типа доступа
Ошибка 504 Gateway Time-out и как её исправить в WordPress
504 gateway time-out – это один из кодов состояния HTTP, который может вернуть сервер, если он не смог завершить обработку запроса. Хотя эта ошибка встречается реже, чем 500 internal server или 502 bad gateway, с ней, по крайней мере, пару раз, сталкивался каждый. Это руководство объясняет, что представляет собой ошибка 504 и как её исправить.
При посещении любого сайта он генерирует запросы и отправляет их на веб-серверы, на которых хранятся необходимые элементы. Каждый раз, когда обрабатывается запрос, сервер отправляет обратно код состояния HTTP с запрошенными ресурсами. По умолчанию код состояния HTTP не отображается. Его можно увидеть только в тех случаях, когда что-то пошло не так.
Что такое ошибка 504 Gateway Time-out?
Коды состояния HTTP, начинающиеся с цифры 5, являются ошибками на стороне сервера. Они появляются, когда невозможно выполнить запрос из-за нарушения связи между несколькими серверами.
504 gateway time-out – это код состояния HTTP, который появляется, когда один сервер не получает своевременный ответ от другого сервера, действующего как шлюз или прокси. Проще говоря, это означает, что сервер не смог выполнить ваш запрос в течение заданного периода времени.
Ошибка 504 также может иметь и другие формулировки, например:
Как исправить ошибку 504 Gateway Time-out
В большинстве случаев причина ошибки 504 находится на стороне сервера, однако в отдельных случаях код 504 может появляться и по причине проблем или неправильных конфигураций с пользовательской стороны. Таким образом, мы рассмотрим основные этапы устранения неполадок с учётом обоих вариантов. Часть решений подходит для WordPress, но большинство из них могут быть применены к любому веб-сайту.
1. Обновите страницу
Первый шаг в решении ошибки 504 gateway time-out самый простой. Подождите несколько минут и обновите страницу. Может быть, что сервер в какой-то момент получил больше запросов, чем обычно и не смог их обработать.
Пока вы ожидаете, можете использовать онлайн инструмент, например, Website Planet и проверить, работает ли сайт. Это хороший способ определить, относится ли проблема к локальной сети.
2. Попробуйте другой браузер
В случае, если сайт онлайн, однако вы всё равно видите ответ 504, попробуйте сменить свой браузер на другой. Очистите кэш браузера или воспользуйтесь режимом инкогнито, это тоже может помочь определить, связана ли причина проблемы с браузером.
3. Очистите кэш DNS
Ошибка 504 gateway time-out иногда может быть результатом некорректного или устаревшего кэша DNS, но его несложно очистить. Способ очистки зависит от вашей операционной системы. Вот руководство как очистить кэш DNS в ОС Windows, Linux и Mac OS.
Временно переключите DNS сервера на Google Public DNS, это поможет определить возник ли код состояния HTTP по причине DNS. Однако мы рекомендуем этот вариант для более опытных пользователей.
4. Проверьте на разных устройствах
Попробуйте загрузить сайт на разных компьютерах, в разных сетях или на мобильных устройствах. Если ничего из выше перечисленного не помогло исправить ошибку 504 gateway time-out, этот шаг поможет вам определить, проблема находится на стороне сервера или имеет локальный характер.
5. Посмотрите журнал ошибок
Ошибка 504 gateway timeout может также быть вызвана недавними изменениями или обновлениями на сайте. Самый быстрый способ проверить это – посмотреть журнал ошибок (англ.) для поиска подсказок. Пользователи WordPress могут включить логирование ошибок добавлением таких строк в файл wp-config.php:
Теперь все возникающие варианты ошибок будут появляться в файле wp-contents/debug.log.
6. Проверьте плагины
В процессе поиска причины ошибки 504 gateway time-out рекомендуется обратить внимание на плагины и расширения вашего сайта. В WordPress причиной ответа 504 могут быть плагины, относящиеся к кэшированию. Старые или несовместимые плагины также могут вызвать проблему. Временное отключение всех плагинов даст вам понять стоит ли копать дальше в этом направлении.
Для отключения всех плагинов WordPress перейдите в каталог wp-content, дайте каталогу plugins другое имя.
Если ваш сайт стал работать хорошо после отключения всех плагинов, то следующим шагом будет обнаружение того плагина, который мог привести к появлению ошибки HTTP 504. Верните каталогу plugins его исходное название и теперь по очереди пробуйте отключить каждый плагин.
7. Проверьте CDN
Если вы используете CDN для более быстрого получения контента, то обязательно проверьте всё ли в порядке с этой стороны. Самый распространённый случай – это CloudFlare, который работает как CDN и как сервис предотвращения негативных последствий от DDoS. При его использовании вы можете столкнуться в двумя видами ошибки 504 gateway timeout.
Эта версия ошибки 504 появляется, когда проблема возникла на стороне CloudFlare. Самым лучшим решением будет связаться с поддержкой CloudFlare или отключить сервис. Однако, если вы его отключите, скорее всего, вам придётся ждать несколько часов пока изменения DNS распространятся.
Версия, показанная выше означает, что проблема возникла на стороне хостинг-провайдера.
8. Измените настройки сервера
Если вы используете VPS-хостинг, то есть ещё несколько дополнительных моментов, которые вы можете попробовать для исправления ошибки 504 gateway timeout. Они будут заключаться в изменении настроек сервера и увеличении лимитов некоторых ресурсов.
Apache
Пользователи Apache могут увеличить значение timeout по умолчанию в файле httpd.conf. Например:
Также может помочь, если вы увеличите значение лимита max_execution_time в php.ini:
Сохраните изменения и перезапустите apache, после чего проверьте. Если причиной ошибки было недостаточное значение таймаута запроса, код 504 должен исчезнуть.
Nginx
Если ваш VPS использует Nginx, попробуйте увеличить такие параметры в файле /etc/nginx/conf.d/timeout.conf:
Также рекомендуется увеличить max_execution_time в php.ini:
После сохранения изменений перезапустить Nginx и попробуйте ещё раз открыть свой сайт.
9. Свяжитесь со службой поддержки
В случае, если ничего из вышеперечисленного не помогло устранить ошибку 504 gateway time-out, рекомендуется обратиться в службу поддержки вашего хостинга. Постарайтесь описать, какие шаги вы проделали для выявления причины ошибки и её устранения и предоставьте как можно больше информации, это значительно ускорит процесс.
Выводы
В этом руководстве мы рассмотрели общие шаги для решения проблемы 504 gateway time-out. Если у вас есть свои хитрости, подсказки или дополнительные решения для устранения этого кода состояния HTTP, дайте нам знать в комментариях!
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
Что означает ошибка сервера 504 Gateway Time Out и как ее исправить
Иногда при посещении отдельных страниц сайта мы сталкиваемся с тем, что на экране вместо желаемого контента появляется сообщение об ошибке с цифровым кодом. Для «непосвященного» пользователя это просто набор цифр, но на самом деле в этих цифрах заложена определенная информация. Все они группируются по видам причин возникновения сбоя.
Сообщения, кодирующиеся в формате 5хх, говорят о проблеме на стороне сервера, например, когда невозможно выполнить запрос из-за нарушения связи между несколькими серверами. Ошибка 504 Gateway Time Out не является распространенной, но это не значит, что на нее не стоит обращать внимания, особенно владельцу сайта. Рассмотрим некоторые причины возникновения данной ошибки и способы ее устранения как на стороне обычного посетителя, так и администратором веб-ресурса.
Ошибка 504 Gateway Time Out – это код состояния HTTP, который появляется, когда в течение заданного периода времени один сервер не получает своевременный ответ от другого сервера, который действует как шлюз или прокси.
Описания ошибки могут иметь различную форму:
Наличие дополнительного словесного описания помогает конкретизировать причину возникновения сбоя.
Производительный хостинг в подарок при заказе лицензии 1С-Битрикс
Выбирайте надежную CMS с регулярными обновлениями системы и профессиональной поддержкой. А мы подарим вам год хостинга – специально для сайтов на 1С-Битрикс.
Что делать посетителю сайта при возникновении ошибки 504
Итак, вы столкнулись с появлением на экране сообщения «error 504». Не спешите уходить с сайта, ведь возникновение сбоя может говорить о неправильной работе вашего браузера или даже наличии более серьезных проблем на уровне пользовательского софта. Попробуйте произвести довольно простые действия, чтобы убедиться, что с вашим программным обеспечением и настройками все в порядке.
Если после проведения всех вышеозначенных рекомендаций любая ошибка, в т.ч. 504 Gateway Time Out, продолжает возникать регулярно, обратитесь в техподдержку проблемного интернет-ресурса.
Решение проблем с появлением ошибки сервера 504 администратором веб-ресурса
Некорректная работа сайта чаще всего просто раздражает посетителя и приводит к тому, что пользователь находит альтернативный ресурс. Для владельца сайта такие сбои могут носить более глобальные последствия. Поэтому очень важно своевременно обнаруживать баги и максимально быстро устранять их. Для раннего мониторинга стоит использовать все возможные инструменты:
Соблюдение последнего правила не только позволит практически без дополнительных затрат отслеживать все возможные проблемы, которые возникают при посещении сайта. Своевременная обработка пользовательских запросов, быстрый ответ, выдача рекомендаций и публичное обсуждение повышают лояльность и создают дополнительный PR-эффект.
Почти все ошибки с кодом 5хх, возникающие из-за невозможности обработки определенного количества запросов, поступающих на сервер, решаются методом апгрейда железа (использованием высокопроизводительного хостинга) либо оптимизацией работы программного обеспечения. Второй способ зависит от вида движка, на котором создан конкретный сайт. При использовании условно-бесплатных программ (WordPress, OpeneCart и других) все проблемы придется решать на уровне администрирования, с привлечением конкретного веб-программиста, разработавшего данный сайт. Если баги возникают на платных платформах (1С-Битрикс, UMI.CMS, NetCat CMS), напишите об ошибке 504 Gateway Time Out в техподдержку разработчика. Отправить сообщение о проблеме следует и разработчикам платных скриптов, если они установлены на вашем сайте, и вы считаете, что сбои возникают по причине их некорректного исполнения.
Вот некоторые причины, приводящие к возникновению ошибки 504 Gateway Time Out
Еще одна возможная причина возникновения ошибки 504 – исполняемый скрипт не укладывается в отведенный лимит времени. Это бывает, когда скрипт обращается к другим сайтам либо просто выполняет тяжелую операцию, например, строит поисковый индекс.
Рекомендации по устранению ошибки 504 Gateway Time Out методами администрирования сайта
Ошибка 504 Gateway Time Out может быть вызвана недавними изменениями или обновлениями на сайте. Если после отката к состоянию, предшествующему изменениям, баг исчез, следует найти конкретное действие, повлекшее возникновение ошибки. Для этого необходимо проверить журнал ошибок соответствующей CMS. Пользователи WordPress могут включить журналирование ошибок в файле wp-config.php добавлением следующих строк:
Все возникающие варианты ошибок будут записаны в файле wp-contents/debug.log.
Для проверки работоспособности плагинов и расширений попробуйте отключить те, которые вызывают подозрение как источники возникновения ошибки 504. В первую очередь это касается устаревших скриптов, но причиной могут оказаться и обновления. Если проблема исчезла, далее следует найти некорректный плагин или дополнение и устранить или исправить его. Один из способов улучшения работы исполняемого скрипта – увеличить значение параметра PHP max_execution_time или облегчить скрипт.
При использовании CDN для более быстрого получения контента, в частности CloudFlare, который работает как CDN и как сервис предотвращения негативных последствий от DDoS, вы можете столкнуться с двумя типами ошибок 504. В случае возникновения проблемы на стороне CloudFlare лучшим решением будет связаться с поддержкой CloudFlare или отключить его. Второй вариант – когда сбой возникает на стороне хостинг-провайдера. В этой ситуации также необходимо обратиться в службу поддержки хостера.
Часто ошибку 504 можно видеть на серверах, где используется VPS-хостинг и установлен Nginx в качестве фронтенда и Apache в качестве бэкенда. Для устранения проблемы в Apache можно увеличить значение timeout по умолчанию в файле httpd.conf:
Также увеличить лимит в max_execution_time в php.ini:
После внесения изменений следует перезапустить Apache. Ошибка 504 Gateway Time Out должна исчезнуть.
Аналогичным образом проблема с появлением ошибки HTTP 504 решается пользователями Nginx. Попробуйте увеличить такие параметры в файле /etc/nginx/conf.d/timeout.conf:
Также рекомендуется увеличить max_execution_time в php.ini:
Далее перезапустите Nginx и откройте сайт.
Более простым решением устранения данной проблемы является использование панели управления сервером.
Данный способ позволяет администрировать настройки веб-сервера без использования консоли, один раз настроить их под ваш проект и больше не подключаться к серверу без острой необходимости.
Например, в бесплатной панели управления Vesta Control Panel достаточно внести изменения в раздел «Сервер» и навсегда забыть о возможности возникновения ошибок на сайте.

Аналогичным способом проблема устраняется и при использовании альтернативных панелей управления хостингом – Ajenti, CentOS Web Panel, ISPmanager и других.
Если вы считаете, что появление 504 Gateway Timeout вызвано превышением лимита использования ресурсов серверного железа, оптимальным решением будет аренда выделенного сервера или VPS. Когда ваш сайт уже размещен на виртуальном хостинге, но ни одна из рекомендаций не привела к исправлению error 504, обратитесь к хостинг-провайдеру. В этом случае подробно опишите причины, которые, как вы полагаете, привели к появлению сбоя.
Заключение
В данной статье мы рассмотрели основные причины возникновения ошибки HTTP 504 Gateway Timeout и популярные способы устранения неполадки. Уверен, некоторые администраторы веб-ресурсов сталкивались с подобными проблемами, выходящими за рамки приведенных примеров и рекомендаций.
Буду благодарен, если вы поделитесь своим опытом в комментариях.













