Skip to content

stone-payments/kong-plugin-url-rewrite

Repository files navigation

Build Status

Kong-plugin-url-rewrite

Kong API Gateway plugin for url-rewrite purposes. This plugin has been tested to work along with kong >= 2.6.x, for a legacy version of this plugin, please check this link.

The Problem

When using Kong, you can create routes that proxy to an upstream. The problem lies when the upstream has an url that is not very friendly to your clients, or restful, or even pretty. When you add a Route in Kong, you have a somewhat limited url rewrite capability. This plugin simply throws away the url set in Kong route and uses the url set in it's configuration to proxy to the upstream. This gives you full freedom as to how to write your url's in Kong and inner services as well.

Project Structure

The plugin folder should contain at least a schema.lua and a handler.lua, alongside with a spec folder and a .rockspec file specifying the current version of the package.

Rockspec Format

The .rockspec file should follow LuaRocks' conventions

Configuration

Enabling the plugin on a Route

Configure this plugin on a Route with:

curl -X POST http://kong:8001/routes/{route_id}/plugins \
    --data "name=kong-plugin-url-rewrite"  \
    --data "config.url=http://new-url.com"
  • route_id: the id of the Route that this plugin configuration will target.
  • config.url: the url where you want kong to execute the request.

Developing

In docker

docker build . -t kong-plugin-url-rewrite-dev
docker run -it -v ${PWD}/url-rewrite:/url-rewrite kong-plugin-url-rewrite-dev bash

Credits

made with ❤️ by Stone Payments