How do I configure proxy settings in IG (All versions)?
The purpose of this article is to provide information on configuring proxy settings in IG if requests need to go via a proxy server.
1 reader recommends this article
Overview
If your requests go through a proxy server, you can configure proxy settings in IG at a global level or within a route depending on your requirements:
This option is best if all your requests go via a proxy. Defining proxy settings at a global level overrides the default setting (which is no proxy defined - type NoProxyOptions
) and means the new proxy settings will be used by every ClientHandler, ReverseProxyHandler and AmService by default.
This option is best if you only have specific routes that need to go via a proxy. You can define proxy settings within a route for the ClientHandler, ReverseProxyHandler and AmService using the proxyOptions
option.
See ProxyOptions Usage for further information.
Configuring global proxy settings
You can configure global proxy settings in the heap of config.json (located in the $HOME/.openig/config directory). For example:"heap": [ { "name": "ProxyOptions", "type": "CustomProxyOptions", "config": { "uri": "http://proxy.example.com:8080" } },You must restart IG to apply these changes.
Note
If you do not have a config.json file in $HOME/.openig/config, you should create one. You can use the examples provided in the documentation to get you started: Example configuration files.
Configuring proxy options in a route
You can configure proxy settings for a ClientHandler or ReverseProxyHandler within a route using the proxyOptions
option. For example:{
"name": "route name",
"type": "handler type",
"config": {
"proxyOptions": {
"type": "CustomProxyOptions",
"config": {
"uri": "http://proxy.example.com:8080",
"username": "proxyuser",
"passwordSecretId": "myproxy.secret.id",
"secretsProvider": "SystemAndEnvSecretStore"
}
}
}
}
Where handler type is "ClientHandler" or “ReverseProxyHandler”.
You can configure proxy settings for Websocket notifications in AmService in a similar way using the proxyOptions
option under the notifications
option. For example:"type": "AmService",
"config": {
"..."
"notifications": {
"proxyOptions": {
"type": "CustomProxyOptions",
"config": {
"uri": "http://proxy.example.com:8080",
"username": "proxyuser",
"passwordSecretId": "myproxy.secret.id",
"secretsProvider": "SystemAndEnvSecretStore"
}
}
}
}
}