On Premise Trace Tool Setup Issue

Not applicable

I have an on premise installation of Apigee that has a non functioning Trace Tool. When doing a GET request for our endpoint, we merely get back a 503 status code.

The endpoint we are hitting is up and works correctly outside of the Trace tool.

Any suggestions of where to look to find the core issue?

Solved Solved
0 6 684
1 ACCEPTED SOLUTION

sgilson
Participant V

Are you on 4.15.07 by any chance? There is a new property called the enableTraceForInternalAddresses property, which is disabled by default to prevent the Trace tool from sending requests to the following private IP addresses:

  • Loopback address (127.0.0.1 or localhost)
  • Site-Local Addresses (For IPv4 - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Any Local Address (any address resolving to localhost).

If the Apigee Routers are reachable only over the above private IP ranges, Apigee recommends that you set the enableTraceForInternalAddresses property to true in /<inst-root>/apigee4/conf/ui/apigee-base.conf.

Stephen

View solution in original post

6 REPLIES 6

sarthak
Participant V

Hi @Michael Zatko can you please clarify the following :

1. Is the API working fine when you are hitting the backend directly ? (I guess the answer is yes)

2. Is it working fine when it is proxied via Apigee but Trace is not running ?

3. Is it not working fine when it is not proxied via Apigee AND Trace is running ?

4. When Trace is running are you using the embedded console inside trace to invoke the request or using an external Rest client like Curl or postman to make the requests ?

1. Yes API is working fine on backend.

2. Yes, it is working being proxied via Apigee.

3/4. Yes, I started the trace tool and did a request via a browser and also tried postman and the Trace tool picked up the request. I did not expect that. So, it appears that sending the request through the trace console itself is the issue. Any ideas what could cause that?

Thanks for your help

Yes, thats what I kind of guessed.

When you have the trace running it will capture all the request responses hitting at the endpoint from any client - API console,postman,curl irrespective of the source.

The API console by default constructs the URL only upto the basepath and do not contain any pathsuffix or query params or headers as part of the request. So the request which you were making earlier might have been a partial request.

If you very carefully check the request being issued from postman vs. the console I am pretty sure you will see a difference. Let me know if that helps.

sgilson
Participant V

Are you on 4.15.07 by any chance? There is a new property called the enableTraceForInternalAddresses property, which is disabled by default to prevent the Trace tool from sending requests to the following private IP addresses:

  • Loopback address (127.0.0.1 or localhost)
  • Site-Local Addresses (For IPv4 - 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)
  • Any Local Address (any address resolving to localhost).

If the Apigee Routers are reachable only over the above private IP ranges, Apigee recommends that you set the enableTraceForInternalAddresses property to true in /<inst-root>/apigee4/conf/ui/apigee-base.conf.

Stephen

We need to upgrade. We're still on version 4.14.07.00.

Thanks,

Mike

FYI: This restriction also applies to the 4.17.01 release of Apigee Edge. But relaxing the restriction is different in 4.17.01. The relevant doc is here.