2개 답변
- 최신
- 최다 투표
- 가장 많은 댓글
3
안녕하세요 robin님
EC2 인스턴스와 로드밸런서의 HTTP Request 에 문제가 있으시군요.
#1
질문자님의 환경을 다음과 같이 이해했는데, 이것이 맞는지 확인 부탁드립니다
VPC 설정
- Public Subnet (가용영역 : a)
- Private Subnet (가용영역 : a)
- EC2 Instance A : React 애플리케이션이 실행중
- EC2 Instance B : NestJS 애플리케이션이 실행중
- Public Subnet (가용영역 : b)
- Private Subnet (가용영역 : b)
Application Load Balancer (ALB A) 의 설정
- VPC A
- 가용 영역 : a - Public Subnet (가용영역 a)
- 가용 영역 : b - Public Subnet (가용영역 b)
- 리스너
- HTTP:80 - 대상 그룹 : EC2 Instance B
- HTTPS:443 - 대상 그룹 : EC2 Instance B
#2
또한, 질문 주신 내용이 다음이 맞는지 확인 부탁드립니다.
- EC2 Instance A 에서 Curl 로 ALB A의 DNS 주소로 요청 -> 성공
- EC2 Instance A 의 React 애플리케이션에서 axios 로 ALB A의 DNS 주소로 요청 → 실패
답변에 추가적인 도움을 드리기 위해 질문을 드린 것이니 잘못된 부분이 있다면 정정해주세요 :)
답변함 4달 전
1
안녕하세요 robin님
EC2 내 ReactJS 앱에서 await axios
명령을 수행하셨고, 로드밸런서 엔드포인트를 거쳐 NestJS API를 호출하시려는 것으로 이해했습니다.
다음 조치들이 문제해결에 도움이 될 수 있습니다.
- 로드밸런서와 연결된 대상그룹(Target Group)에 NestJS 앱이 실행 중인 EC2가 제대로 포함되어 있는지 확인합니다.
- axios로 API 요청 시 CORS 문제가 발생할 수 있습니다. 이 경우 NestJS 공식 문서를 참고하여 CORS 설정을 활성화하셔야 합니다. 예시코드는 다음과 같습니다.
const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(3000);
답변이 도움이 되셨기를 바랍니다. 감사합니다.
답변함 4달 전
관련 콘텐츠
- 질문됨 6달 전
- AWS 공식업데이트됨 일 년 전
- AWS 공식업데이트됨 2년 전
- AWS 공식업데이트됨 10달 전