Unsolved

This post is more than 5 years old

7 Posts

1592

September 14th, 2012 08:00

API Proxy Advice

My company is using an API Proxy from Layer 7 to filter all our APIs including Atmos API. Layer 7 uses policy assertions to perform various security checks before routing the call to the appropriate backend. We want a single domain name called "api.savvis.net".  So, we want to use "https://api.savvis.net/storage" for any access to the Atmos API, and Layer 7 will convert that to "https"//backenddomain/rest".

I'm wondering if this will prevent backward compatibility with Atmos products that already exist in the market? I know that Atmos uses URL "https://domain/rest" by default and a lot of products have been written to ask the user for just the domain name.  If the user enters "api.savvis.net/storage", will this work? Do we have to have a different domain name for storage like "api.savvisstorage.net"?

Any advice would be greatly appreciated.

Sincerely,

Jeff

281 Posts

September 14th, 2012 09:00

In the Atmos Java API (and some of the others), there is a "setContext" you can use to change the context path from /rest to something else.

        EsuApi atmos = new EsuRestApi("server.mydomain.com", port, uid, secret);

        ((EsuRestApi)atmos).setContext("/storage");

You are correct though in that some applications assume "/rest" and don't have a configuration setting for this path.

Also note that the context must match between your proxy and the back-end because the context path is part of the signed request.  If the request is signed using /rest and the server receives the request at /storage, you'll get a signature mismatch error.

You're free to change the hostname though; that's not part of the signature, e.g.:

https://server.mydomain.com/storage can proxy to  https://api.savvis.net/storage

0 events found

No Events found!

Top