Apiman Gateway Production Guide

Setting the API Gateway Public Endpoint

An important step is to let the API Gateway know what its public endpoint is. This is important because the API Manager will sometimes ask the Gateway to report on the Managed Endpoint for a published API.


To set the public endpoint of the API Gateway, add the following to conf.json:

  "publicEndpoint": "https://api-gateway-host.org:8443" (1)
1 You can also append a path, etc. This is useful if you are behind a proxy and need to report a specific endpoint.


To set the public URL/endpoint of the API Gateway, add the following to apiman.properties:

Please make sure to use your appropriate values for the host and port.

Pointing the API Gateway to a Remote Elasticsearch

The API Gateway uses Elasticsearch in a number of ways, including:

  • Storing configuration information

  • Managing shared state across a cluster

  • Storing metrics to share with the API Manager (analytics)

In order to configure the gateway properly, you will need to configure the location of the Elasticsearch instance.

You will need to replace the values with those appropriate for your installation of Elasticsearch.


To do this, modify these properties in the conf.json file for each ES component. For example:

  "registry": {
    "class": "io.apiman.gateway.engine.es.ESRegistry",
    "config": {
      "client": {
        "type": "jest",
        "cluster-name": "elasticsearch",
        "host": "localhost", (1)
        "port": "9200",
        "initialize": true
1 You could use Environment Variables or System Properties such as ${ES_HOST} ${ES_PORT}.


To do this, modify these properties in the apiman.properties file:


Pointing the API Gateway to a Remote Keycloak

Refer to the Installation section on configuring a Remote Keycloak instance. Be sure to select your implementation by clicking on the Vert.x or Servlet tabs at the top right.