Невозможно включить плагин сеанса в Конге (даже после обновления до последней версии)
Для начала у меня был установлен Kong 0.14.1 (без докера) в Ubuntu 16.04, работающий нормально.
Я попытался добавить плагин 'Session' (следуя примеру страницы плагина)
curl -X POST http://localhost:8001/services/1d57a271-1a70-42ac-bb37-2e60405af347/plugins \
--data "name=session" \
--data "config.storage=kong" \
--data "config.cookie_secure=false"
Но он только что вернул ошибку 400:
{"message":"schema violation (name: plugin 'session' not enabled; add it to the 'plugins' configuration property)","name":"schema violation","fields":{"name":"plugin 'session' not enabled; add it to the 'plugins' configuration property"},"code":2}
Я понял, что плагин сессии не был включен в мою текущую версию, и поэтому я попытался обновить его до последней версии (1.1.2) с помощью следующих команд:
sudo dpkg -P kong-community-edition
wget -O kong-community-edition-1.1.2.trusty.all.deb https://bintray.com/kong/kong-community-edition-deb/download_file?file_path=dists/kong-community-edition-1.1.2.trusty.all.deb
sudo dpkg -i kong-community-edition-1.1.2.*.deb
sudo kong migrations up
sudo kong migrations finish
с последующим перезапуском системы просто для уверенности.
Теперь, когда я запускаю следующее, я вижу, что я на последней версии 1.1.2
dpkg -l | grep kong
Но я все еще получаю ту же ошибку при попытке включить пакет.
Я получил следующую ошибку при удалении kong с помощью "sudo dpkg -P kong-community-edition", но я не уверен, как обработать это предупреждение, или оно имеет отношение к моей проблеме.
Removing kong-community-edition (1.1.2) ...
dpkg: warning: while removing kong-community-edition, directory '/usr/local/lib' not empty so not removed
dpkg: warning: while removing kong-community-edition, directory '/usr/local/bin' not empty so not removed
dpkg: warning: while removing kong-community-edition, directory '/usr/local/share' not empty so not removed
dpkg: warning: while removing kong-community-edition, directory '/usr/local/kong' not empty so not removed
Что я должен исправить, чтобы разрешить мне включить плагин сессии?
[Обновить]
Если я добавлю эту строку в файл конфигурации:
plugins=bundled,session
Затем я получаю эту ошибку при запуске:
nginx: [error] init_by_lua error: /usr/local/share/lua/5.1/kong/init.lua:402: error loading plugin schemas: on plugin 'session': session plugin is enabled but not installed;
1 ответ
Оказывается, документация Kong была неверной, плагин сессии не установлен по умолчанию. Это должно быть установлено вручную.
Вот шаги, которые я предпринял для установки плагина сессий:
Загрузил исходный код сессии с помощью кнопки загрузки здесь: https://github.com/Kong/kong-plugin-session
Скопировал и распаковал его на машину под управлением моего экземпляра Kong.
Следуйте инструкциям ниже, чтобы установить с источником. Я попробовал подходы как к марке, так и к упаковке и рок-музыке. При установке из скалы я получил несколько предупреждений "/usr/local/share/lua/5.1/kong/plugins/session/*** не отслеживается этой установкой LuaRocks". Но, похоже, проблема не возникла: https://docs.konghq.com/1.1.x/plugin-development/distribution/?_ga=2.38394979.1991677927.1558543387-1804803425.1516137689
Обновлен файл conf '/etc/kong/kong.conf' следующей строкой: plugins=bundled,session
Обновлено обновление базы данных db: sudo kong
Запустил Kong, хотя теперь кажется, что я должен sudo, иначе я получаю следующую ошибку.
/usr/local/share/lua/5.1/kong/cmd/start.lua:61: /usr/local/share/lua/5.1/kong/cmd/start.lua:37: недопустимая конфигурация nginx (код выхода 1): nginx: [alert] не удалось открыть файл журнала ошибок: ошибка open() "/usr/local/kong/logs/error.log" (13: разрешение запрещено) nginx: файл конфигурации / usr / local / kong / Синтаксис nginx.conf в порядке