DataPusher не может подключиться к CKAN 2.8 - PullRequest
0 голосов
/ 03 ноября 2019

DataPusher не работает с моей установкой CKAN 2.8. У меня есть DataPusher и CKAN на одном и том же VPS (экземпляр Amazon EC2). Я не могу свернуть / api / 3 / action / resource_show изнутри экземпляра, но я могу получить его извне с того же IP-адреса, с которого я могу получить доступ к веб-интерфейсу CKAN. Я использую настройки порта по умолчанию / следовал официальной документации CKAN для настройки CKAN и DataPusher / DataStore.

При проверке журналов ошибок (в частности, datapusher.error.log в / var / log / apache2) самое последнеесообщение:

ConnectionError: HTTPConnectionPool(host='{ckan.site_url value, in this case the public IP of the instance}', port=80): Max retries exceeded with url: /api/3/action/resource_show (Caused by NewConnectionError('<requests.packages.urllib3.connection.HTTPConnection object at 0x7f3bb0151490>: Failed to establish a new connection: [Errno 110] Connection timed out',))

1 Ответ

0 голосов
/ 03 ноября 2019

В конечном итоге проблема заключается в том, что при использовании AWS EC2 VPS ваш экземпляр Ubuntu не знает о своем общедоступном IP-адресе, который, вероятно, используется вами для доступа к веб-интерфейсу CKAN, расположенному на указанном VPS.

В идеале API CKAN можно использовать для внутренних целей, но я не смог сделать это с localhost / 127.0.0.1 вместо внешнего / открытого IP-адреса VPS. Проблема с установкой ckan site_url в localhost заключается в том, что вы будете перенаправлены из веб-интерфейса CKAN при попытке использовать DataPusher (например, вручную инициировать загрузку ресурса в DataStore). Ваш компьютер, очевидно, не будет знать, что localhost ссылается на сервер разработки CKAN ... Итак, значение ckan site_url должно быть доступно как для DataPusher, так и для людей / устройств в общедоступном Интернете (если вы хотите, чтобы ваш экземпляр CKAN был общедоступным). -accessible).

Решение здесь состоит в том, чтобы открыть порт 80 для общедоступного IP-адреса экземпляра AWS EC2 во входящих правилах группы безопасности экземпляра. Другими словами, вы позволяете экземпляру самому поразить на порту 80. Кажется, это неэффективно, но у меня нет альтернативы на данный момент. Это лучше, чем ничего!

...