OpenStreetMap часто отправляет ошибку тайм-аута шлюза - PullRequest
0 голосов
/ 08 июня 2018

Я использую карту листовок в программе со следующим кодом:

<style>
     <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin=""/>
    @import url(//cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.2/leaflet.css);
    #map {
        width: 960px;
        height: 500px;
    }
</style>

<body>
   <div id="map"/>
   <script type="text/javascript">
        var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
            osmAttrib = '&copy; <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
            osm = L.tileLayer(osmUrl, {maxZoom: 20, attribution: osmAttrib});

        var map = L.map('map').setView([37.5, -115], 6).addLayer(osm);

</body>

Тем не менее, я продолжаю видеть какой-то серый квадрат на своих картах в случайных местах и ​​получаю следующий код ошибки Leaflet в javascriptконсоль:

http://a.tile.openstreetmap.org/6/8/25.png 504 (Gateway Timeout)

Кто-нибудь знает, что не так и как это решить?

1 Ответ

0 голосов
/ 08 июня 2018

50-кратная ошибка на серверах плиток OpenStreetMap - это проблема, возникающая на стороне OSM, а не проблема, связанная с использованием (или неправильным использованием) плитами OSM на вашем веб-сайте или в приложении.

Судя поВ конкретное время и дату вашего вопроса я сделаю дикое предположение и скажу, что вы работали с одним из прокси-серверов squid во время кратковременной перегрузки сети во время общесистемного обновления со squid 2.к squid 3 продолжался в течение последних нескольких дней (обратите внимание, что скриншот ниже для git-репо, содержащего рецепты шеф-повара для серверов OSM, а также тот факт, что I можно увидеть состояние серверов OSM - это круто).

Screenshot from OSMF's repo for Chef recipes

Имейте в виду, что серверы плиток OSM и прокси-серверы обслуживаются командой (удивительной) волонтеров системыадминистраторы и, в то время как они делают все возможное, чтобы все работало, OSM Foundation может не дает какие-либо гарантии качества обслуживания.

Подробнее оэто в https://operations.osmfoundation.org/ и особенно в https://operations.osmfoundation.org/policies/tiles/

Кто-нибудь знает, что не так и , как решить эту проблему ?

В общем, временные сбои сервисов OSMF могут быть решены с помощью:

  • Имея терпение и ожидая, пока системные администраторы исправят ситуацию.
  • Скрывается в OFTC # OSM-devIRC канал ( подробнее здесь ), чтобы точно знать, что не так, и вежливо спрашивать.Если вы это сделаете, не мешайте людям там;это только замедлит ход событий.
  • Пожертвование денег для OSMF, чтобы он мог расширить свои операционные возможности.
  • Добровольное участие в рабочей группе OSMF Operations ,или с помощью оборудования для зеркальных серверов или тому подобного.

Если вы не хотите быть связанными ограничениями OSMF, есть пара общих альтернатив:

  • Используйте коммерческого провайдера тайлов (некоторые из провайдеров перечислены здесь )
  • Разместите собственные тайлы ( больше информации здесь )
  • Кэшируйтеплитка.В отличие от большинства коммерческих поставщиков, OSM позволяет вам хранить, проксировать и кэшировать тайлы практически любым способом, каким вы захотите.На самом деле, все, что уменьшит нагрузку на серверы OSMF, приветствуется, если вы будете осторожны (т.е. не заполняйте кеш, что приведет к массовой загрузке).
...