Maintain the same URL after migrating to Apigee Cloud

Following is the way my business partner would invoke the backend with following format (in their URL) like one of 3 formats.

1.https://mybackend.name.com/service/pathname

2. https://seconbackend.name.com/service/pathname

3. https://www.worldxx.com/service/pathname

My requirement is to maintain same invocation style after moving into Apigee Cloud from Business partner.

Understand that

As per Apigge Documentation

By default, your organization name is in the URL used to call your API proxies

http(s)://<your_org_name>-<environment>.apigee.net/proxy_base_path/...

Per our requirement Business should have 0% changes from their end including URL invocation hence

.Do I need 3 organization name like listed below.

Apigee being in cloud environment, how do I avoid environment and .apigee.net in URL by business partners

Or is there any other alternative to achieve this ? but my invocation style from business partner should remain same. Not the way Apigee defines like orgname and env name with apigee.net etc in URL

Please suggest

Solved Solved
0 7 372
2 ACCEPTED SOLUTIONS

Hi @Abiram Radhakrishnan - Take a look at Virtual host. You can create 3 different virtual host in Apigee by configuring them and deploying the proxy to those. Please go through the documentation for more details

View solution in original post

Sai’s answer is great here. In addition you will need to create cname (DNS) entries for each host and point them at yourOrg-apigee.net.

When combined with Sai’s recommendation, traffic will hit your proxies (assuming your base paths are all set correctly).

View solution in original post

7 REPLIES 7

Hi @Abiram Radhakrishnan - Take a look at Virtual host. You can create 3 different virtual host in Apigee by configuring them and deploying the proxy to those. Please go through the documentation for more details

Sai’s answer is great here. In addition you will need to create cname (DNS) entries for each host and point them at yourOrg-apigee.net.

When combined with Sai’s recommendation, traffic will hit your proxies (assuming your base paths are all set correctly).

Thanks @Sai Saran Vaidyanathan and @Robert Johnson

Reviewed the link and content you indicated have following queries.

1. As per documentation

Typically, you want to create virtual hosts that use your domain name, rather than use the default apigee.netdomain. To do so, you must first create your own DNS entry and CNAME record.

As per above statement, do we have the detailed steps about where this changes to be done ?

2.

Additional notes per documentations indicates that

1.You are limited to a maximum of 20 virtual hosts per organization/environment in the Cloud.

2. You define a DNS entry and CNAME record to point api.acme.com to acme-prod.apigee.net.

Question : In my case I have 13 backend service

http://hello.backend.com:4009/v1/MyService (this is without https)

https://bkp.service.com/ (like this, I have 12 unique backup service)

Des this means that, if the client have to invoke the request by referring to 13 unique backend service host in URL (then apigee.net in URL), then I will require 13 such records to define DNS entry and CNAME record to point each domain?

As per documentation which indicates following

3. For access documentation indicates

The user creating the virtual host must be in the role of organization administrator, or in a custom role with permissions to modify a virtual host. Users in other roles do not have authorization to create virtual hosts.

Question: If Org Admin doe the changes to virtual host information then,

virtual hosts are added to all new API proxies. Then In that case If I have 13 such API Proxies hence will have such information for all 13 API Proxies ?

1. Since you own the domain, you will need to do the cname mapping at your network layer. The network admin should be able to do that

2. The Virtual host is the host name for the calls coming into Apigee and then Apigee will then forward the request to your back. For example, lets say your API /v1/services/foo is deployed to api.example.com - then the clients will call as https://api.example.com/v1/services/foo and then the request comes to Apigee and then Apigee will forward that to any of your backends. What you mentioned is your backend. You can have any number of backends, you just need to know where the request needs to go from Apigee, you can control where to send it within the proxy using Conditions.

3. You need to add that Virtual host entry in the proxy configuration, unless you add that it will not be available.

Virtual host is all about calls coming in from the clients. Hope that clarifies

Thanks @Sai Saran Vaidyanathan for detailed response

Looks like 3 stakeholders involved for this.

  1. Network person :Configuring Router and doing DNS entry and CNAME record.
  2. Apigee Org Admin or (Custom user who have access to Virtual host editing) : To update the virtual host properties (XML configuration)
  3. Developer for

    To create virtualhost tag to specify the name of the virtual host associated with the API proxy and overall controls the virtual hosts used by an API proxy

1) Just configure the DNS entry and CNAME

Thanks @Sai Saran Vaidyanathan for quick repsonse