Shows how a single OpenIG configuration can proxy to multiple
applications on different IPs and ports. This template is setup to proxy to
both the WordPress and MediaWiki hosted samples. OpenIG must be setup to
listen on both ports 8080 and 8181. The DispatchHandler is
used to route each incoming request to either the WordPress chain or the
MediaWiki chain.
{
"heap": {
"objects": [
{
"name": "HandlerServlet",
"type": "HandlerServlet",
"config": {
"handler": "DispatchHandler"
}
},
{
"name": "DispatchHandler",
"type": "DispatchHandler",
"config": {
"bindings": [
{
"condition": "${exchange.request.uri.host == 'demo.forgerock.com'}",
"handler": "WordPressLoginChain",
"baseURI":"http://109.73.67.52:8080",
},
{
"condition": "${exchange.request.uri.host == 'demo.forgerock.com'}",
"handler": "MediaWikiLoginChain",
"baseURI":"http://109.73.67.52:8181"
}
]
}
},
{
"name": "WordPressLoginChain",
"type": "Chain",
"config": {
"filters": [],
"handler": "OutgoingChain"
}
},
{
"name": "MediaWikiLoginChain",
"type": "Chain",
"config": {
"filters": [],
"handler": "OutgoingChain"
}
},
{
"name": "OutgoingChain",
"type": "Chain",
"config": {
"filters": ["CaptureFilter"],
"handler": "ClientHandler"
}
},
{
"name": "CaptureFilter",
"type": "CaptureFilter",
"config": {
"captureEntity": false,
"file": "/tmp/gateway.log"
}
},
{
"name": "ClientHandler",
"comment": "Responsible for sending all requests to remote servers.",
"type": "ClientHandler",
"config": {
}
}
]
},
"servletObject": "HandlerServlet",
}

