Announcements
This site is in read only until July 22 as we migrate to a new platform; refer to this community post for more details.
Get hands-on experience with 20+ free Google Cloud products and $300 in free credit for new customers.

Accessing Apigee X API via IP Address in Development (Without DNS)

Hi everyone,

I'm new to Apigee and recently deployed Apigee X in GCP following the evaluation documentation. I've also successfully deployed a test API proxy named "Helloworld."

Currently, the customer isn't prepared to create a DNS A record. While I can test the API using Postman and the terminal with header parameters, accessing the same URL in a web browser results in a 404 error.

Unfortunately, using the cURL command https://IP_address.nip.io/helloworld isn't an option because I haven't deployed it with a wildcard certificate.

My question is: Are there any workarounds or configurations within Apigee X that would allow me to access the API directly using the IP address itself for development purposes?

Thanks in advance for your help!

Additional Notes:

  • I understand that relying on IP addresses for production environments isn't ideal. This is solely for testing purposes in the development phase.
  • Feel free to ask any clarifying questions you may have.

I look forward to your insights!

Thanks and regards,
Nikhil Dutt

0 3 531
3 REPLIES 3

Hi @nikhil_dutt, thank you for sharing such a well-formulated question! We’re glad to have you here engaging in the forum and will keep an eye on this conversation to ensure you receive a helpful reply soon.

We’d also love for you to join us at our upcoming virtual event on November 14, focused on Spec-Driven Development (SDD) and Continuous Integration/Continuous Delivery (CI/CD) for Apigee—check it out in and register here😊

Hello @nikhil_dutt ,

Thanks for reaching out here.

To test your API proxy you'll need to use the hostname provided in your Apigee environment group combined with a basepath you define at the proxy level. This typically looks like the example you gave: https://IP_address.nip.io/helloworld. You can find this information under the environments section of the Apigee UI.

To clarify the "wildcard certificate" point, during Apigee setup you have two choices for internet access:

  • No Internet Access: Your Apigee instance won't be reachable from the public internet.
  • Internet Access: Your Apigee instance will be publicly accessible. When you choose this, you're given the option to use Apigee's wildcard DNS service or your own domain.

Since the customer isn't ready to create a DNS record, it seems likely you opted for Apigee's wildcard DNS service. This automatically generates a https://IP_address.nip.io hostname for testing your proxies. You should have seen a pre-created "hello-world" proxy for testing after the initial setup.

To help me understand the situation better, could you please provide some more details?

  1. What's the name and basepath of the proxy you're trying to test?
  2. Have you tested the pre-created "hello-world" proxy? You can find it on the Apigee homepage in the GCP console (click "Overview" in the top left). It should have a similar URL to the one you mentioned. What happens when you try to access it?
  3. Can you share the error messages or any other issues you're encountering?

The more information you can provide, the better I can assist you in troubleshooting this.

duncanchris_0-1730345656624.png

Here are a few video resources that should help you:

 

Hi @duncanchris

Thank you for your response. As previously mentioned, I am working with an SSL certificate provided by the customer in .PEM format, rather than a wildcard certificate. However, the customer is currently reluctant to add an A record in DNS pointing to the IP address associated with Apigee hostnames. This limits my ability to directly access the API via the IP address.

To address this, I have implemented a workaround by configuring a header key-value pair in the GCP Load Balancer backend server, which allows me to access the API through a web browser. However, this solution is constrained by only permitting the addition of a single key-value pair at a time. If there are alternative approaches or configurations that could facilitate this setup more effectively, I would greatly appreciate any recommendations.

Thank you in advance for your insights.