Configuration via JSON
The Ceptor Gateway is configured using JSON properties stored in ceptor-configuration.xml
The configuration values can be stored for either the individual gateway server itself, or it can be inherited (and shared between multiple gateway instances) by placing this configuration in a server entry which the individual gateways extends from.
Below is an example of a JSON configuration embedded within ceptor-configuration.xml - this JSON configuration can be edited directly, but the easiest way, is to do this using the Ceptor Console, which allows editing each field using a GUI editor which means you do not have to bother about json names or syntaxes. Note that in this example, the destinations and locations have been removed to keep the size down.
The configuration is split into different JSON objects, which mimics the configuration screens in the console;
Gateway global settings, such as number of threads, max POST size, cluster IDs and access log configuration.
Session related configuration, such as session resolvers, cookie names, scripts etc.
Listener configuration, TCP port numbers, SSL settings and protocols - allows you to set up listeners on various ports and protocols.
Locations and their settings - you can potentially have hundreds or even thousands of locations - bear in mind though that each location is processed sequentially and its conditions are checked for a match - so there is a (low, but existing) performance cost of chaining hundreds of checks - especially if conditions include regular expressions and not simple string matching. Consider nesting locations to reduce the number of check required and group locations e.g. by virtual server.
Contains the destination clusters of target servers that requests can be proxied to.
Pipelines and tasks, which enable ESB or API Gateway functionality.
Define "canned" replies, reusable from within various locations.
Create IP ranges, which contain IP ranges defined locally, loaded from files, or from Online IP Reputation Databases.