Resolving net::ERR_NAME_NOT_RESOLVED Error with AWS Internal Load Balancer
Автор: vlogize
Загружено: 2025-09-28
Просмотров: 3
Описание:
Discover why you're facing a `net::ERR_NAME_NOT_RESOLVED` error when calling an AWS internal load balancer and how to efficiently resolve it.
---
This video is based on the question https://stackoverflow.com/q/63630841/ asked by the user 'Patryk Maryn' ( https://stackoverflow.com/u/12273007/ ) and on the answer https://stackoverflow.com/a/63631523/ provided by the user 'Marcin' ( https://stackoverflow.com/u/248823/ ) at 'Stack Overflow' website. Thanks to these great users and Stackexchange community for their contributions.
Visit these links for original content and any more details, such as alternate solutions, latest updates/developments on topic, comments, revision history etc. For example, the original title of the Question was: aws Internal load balancer net::ERR_NAME_NOT_RESOLVED when calling a service
Also, Content (except music) licensed under CC BY-SA https://meta.stackexchange.com/help/l...
The original Question post is licensed under the 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ) license, and the original Answer post is licensed under the 'CC BY-SA 4.0' ( https://creativecommons.org/licenses/... ) license.
If anything seems off to you, please feel free to write me at vlogize [AT] gmail [DOT] com.
---
Understanding net::ERR_NAME_NOT_RESOLVED in AWS Internal Load Balancer
The net::ERR_NAME_NOT_RESOLVED error can be frustrating, especially when you're working with a complex architecture like a three-tier ECS (Elastic Container Service) application on AWS. This problem can arise when your application's client (running in a browser) attempts to communicate with an AWS internal load balancer. In this post, we'll explore the cause of this issue and clear up how to solve it effectively.
The Problem at a Glance
You have a setup comprising:
A public subnet hosting an Angular app on an NGINX server using an internet-facing application load balancer.
A private subnet where your Java Spring REST API is hosted on a Tomcat server and connected to an internal load balancer.
A private RDS (Relational Database Service) instance in a separate private subnet.
While you can successfully execute commands to reach your REST API from your EC2 instance using curl, you encounter the net::ERR_NAME_NOT_RESOLVED error when the browser tries to access this REST API endpoint through the internal load balancer.
Why Does This Error Occur?
The root cause of the net::ERR_NAME_NOT_RESOLVED error lies in the nature of AWS load balancers. Here’s the breakdown:
Internal Load Balancer Accessibility: The internal load balancer you are using is not publicly accessible. This means that only resources within your AWS VPC (Virtual Private Cloud) can make calls to it. Clients on the internet, like a web browser making requests from a public subnet, cannot reach it.
Publicly Callable Endpoints: When your application attempts to make a call to the internal load balancer URL from the client's browser, it results in the failure to resolve the domain name, hence the error message.
Solutions to Resolve the Issue
You have two primary options to solve the net::ERR_NAME_NOT_RESOLVED issue:
Option 1: Modify Your Application to Use Public Endpoints
Identify Public Resources: Ensure that all resources that need to be accessed by the clients must be publicly available.
Switch Endpoints: Change your application code to use endpoints that are accessible over the internet, preferably the internet-facing load balancer. For example, if your REST API is to be accessed by the frontend, ensure that the calls are directed to the public-facing endpoint.
Option 2: Change the Internal Load Balancer to Internet-Facing
Update Load Balancer Configuration: Change the settings of your internal load balancer to make it internet-facing. This will allow it to accept requests from clients over the internet.
Security Considerations: Be cautious with this approach. Evaluate the security implications of exposing your internal APIs to the public. This change might require you to enforce stringent rules in your security groups to prevent unauthorized access.
Conclusion
If you are facing the net::ERR_NAME_NOT_RESOLVED error when trying to access your AWS internal load balancer, remember that the primary cause is the restriction that internal endpoints have from public access. Depending on your requirements, either modify your REST API calls to hit publicly available endpoints or adjust the configuration of your internal load balancer. By implementing one of these solutions, you'll be able to resolve the browser error and enhance the functionality of your application.
If you have further questions or need help with similar AWS issues, feel free to leave a message in the comments below!
Повторяем попытку...
Доступные форматы для скачивания:
Скачать видео
-
Информация по загрузке: