Unable to resolve "Unable to identify the Hostname"

When i connect APIGEE APi from Internet getting below error and basically APIGEE API is in Intranet and me in internet. All the required connectivity has been opened and DNS also getting resolved.

my Public IP : X.X.X.X
Is there anything need to develop on API proxy level as i am developing bu default

 

{"fault":{"faultstring":"Unable to identify proxy for host: X.X.X.X:9106 and url: \/","detail":{"errorcode":"messaging.adaptors.http.flow.ApplicationNotFound"}}}

0 1 942
1 REPLY 1

{"fault":{"faultstring":"Unable to identify proxy for host: X.X.X.X:9106 and url: \/","detail":{"errorcode":"messaging.adaptors.http.flow.ApplicationNotFound"}}}

I guess you are speaking of Apigee Edge. This error indicates Apigee is receiving the request, but cannot find a proxy to route the request to. This can happen for a number of reasons.

One possible reason is: you did not specify a hostname in the request.  If you try to invoke an API proxy with an IP address, Apigee will not know how to route the request. When connecting into an Apigee Edge proxy, Apigee needs the hostname to resolve the inbound call. If you specify a FQDN in the request, then the appropriate hostname will reach Apigee. If you use only the IP address, then Apigee will not have a hostname and will be unable to route the request. If that's the case, then try specifying the HOST header in the call.  Or try specifying the FQDN. 

A second possible reason is, the domain name you are using is not listed in the virtual host. If you ARE specifying a FQDN , and it is resolving properly, or if you are specifying a HOST header, and you still see that error, then.... I suspect that domain name is not listed as a "host alias" in the virtual host your API Proxy is listening on.  Let me explain... In Apigee Edge, Each API proxy has a basepath, and at least 1 Virtual Host. The virtual host specifies one or more host aliases, and then a TLS configuration (keys and certs).  So in order to get a call to https://api.example.com:9106/myapi to be handled by an Apigee proxy, you must

  • configure a virtual host with a host alias of api.example.com, and a port of 9106
  • configure an API Proxy that listens on that vhost. And uses a basepath of /myapi
  • deploy the API proxy

Good luck.