无法在Kong中启用会话插件(即使升级到最新版本也是如此)

时间:2019-05-22 16:42:39

标签: kong kong-plugin

首先,我在ubuntu 16.04中安装了Kong 0.14.1(没有docker),工作正常。

我尝试添加“会话”插件(按照插件页面的示例)

$advice->product->name === 'iPhone' && $advice->relation->name === 'Samsung S10'

但是它只是返回了400错误:

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"

我意识到会话插件未包含在当前版本中,因此我尝试使用以下命令升级到最新版本(1.1.2):

{"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

但是尝试启用该程序包时,我仍然收到相同的错误。

使用'sudo dpkg -P kong-community-edition'卸载kong时,确实出现了以下错误,但是我不确定如何处理此警告,或者它是否与我的问题有关。

 dpkg -l | grep kong

我该如何纠正才能启用会话插件?

[更新]

如果我将此行添加到配置文件中:

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

1 个答案:

答案 0 :(得分:0)

结果是,Kong文档不正确,默认情况下未安装会话插件。需要手动安装。

这些是我安装会话插件的步骤:

  1. 使用下载按钮从此处下载了会话源代码: https://github.com/Kong/kong-plugin-session

  2. 将其复制并解压缩到运行我的Kong实例的计算机上。

  3. 按照以下说明与源一起安装。我尝试了make,pack和rock方法。从岩石上安装时,我收到一些“ /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#installing-the-plugin

  4. 使用以下行更新了conf文件“ /etc/kong/kong.conf”: plugins = bundled,session

  5. 更新了数据库:sudo kong迁移了

  6. 启动了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:[警告]无法打开错误日志文件:   open()“ /usr/local/kong/logs/error.log”失败(13:权限被拒绝)   nginx:配置文件/usr/local/kong/nginx.conf语法可以