Http proxy configuration in HTTP Options is ignored

book

Article ID: 141202

calendar_today

Updated On:

Products

CA API Gateway API SECURITY CA API Gateway Precision API Monitoring Module for API Gateway (Layer 7) CA API Gateway Enterprise Service Manager (Layer 7) STARTER PACK-7 CA Microgateway

Issue/Introduction

We have an Api Gateway instance that performs soap/https service requests toward an internet endpoint.

Currently the gateway is hosted on a server that can connect directly to the internet but for security purposes we have to close this direct connection and route the service request through an http proxy.

We made several attempt to configure HTTP Options to achieve the result:

  1. HTTP Option with Host with wildcard: Host=*.salesforce.com, protocol=Any and "Use specified HTTP proxy"
  2. HTTP Option with exact Host: Host=xxxxxxxxxxxx.salesforce.com, protocol=Any and "Use specified HTTP proxy"
  3. Default HTTP Proxy: we configured in the HTTP Option form a default HTTP proxy without spefifying any specific host 

Our preferred option is the first one since the endpoint is dynamic and could change often without notice. 

None of the above attempts works; the http proxy configuration is ignored and the service request continues to connect directly to the internet endpoint.

Is the any other configuration option to make the http proxy configuration work?

 

Environment

Release : 9.4

Component : API GTW ENTERPRISE MANAGER

Resolution

After internally discussing the issue of configuring the global proxy, it was found that the Manage HTTP Options proxy configuration is different from proxy configuration within policy logic.
Manage HTTP Options are to set HTTP options for internal Gateway HTTP request (not related to policy logic but to actual functioning of the gateway such as if the gateway needs to publish SOAP APIs and such).

so, we suggest that you either go to each Routing assertion -> Proxy tab and then add proxy details or you can create a separate policy fragment like the one I have attached routerViaProxy which will have parameterized URL that needs to be hit and hard coding the proxy details. Then convert it into an encapsulated assertion, add it to assertion palette and use that wherever you need routing(example policy attached -> router) by just setting the context variable before hitting the encapsulated assertion.

Attachments

1575473195691__routerViaProxy.xml get_app
1575473183466__router.xml get_app