cors도 aws에서 포트번호를 부여받던데, 같은 방식인가요?

mgkim·2025년 1월 6일
1

react

목록 보기
34/36


ㄴ 이 그림이 제일 스라소니대장이 말해준 구조랑 비슷한거같아서 가져와봄
ㄴ 프리플라이트, 콜스헤더, 등... 나오길래 가져와본 그림

CORS(Cross-Origin Resource Sharing)와 AWS의 포트 번호 부여는 서로 다른 개념이지만, 웹 애플리케이션의 동작과 네트워크 상의 리소스 접근 방식과 관련이 있다는 점에서 연관될 수 있습니다. 이를 분리해서 설명하겠습니다.


1. CORS (Cross-Origin Resource Sharing)

  • 개념: 브라우저에서 서로 다른 도메인(Origin) 간의 리소스 공유를 제어하는 메커니즘입니다.
    • 예: http://example.com에서 http://api.example.com으로 요청을 보내는 경우.
  • 동작 방식:
    • 브라우저는 보안상의 이유로 기본적으로 다른 Origin으로의 요청을 차단합니다.
    • 서버에서 CORS 설정(헤더로)을 통해 특정 도메인 또는 모든 도메인(*)에 대해 요청을 허용할 수 있습니다.
  • AWS에서의 역할:
    • AWS API Gateway, S3, Lambda 등에서 CORS 설정을 통해 특정 Origin의 요청만 허용하거나 모든 Origin 요청을 허용할 수 있습니다.
    • 포트 번호와 직접적인 관계는 없지만, 서버가 사용하는 포트(예: 8080, 443 등)에 대해 설정된 CORS 정책에 따라 요청이 허용되거나 차단됩니다.

2. AWS와 포트 번호

  • AWS 포트 번호 사용 방식:
    • AWS 서비스는 특정 프로토콜 및 포트를 기반으로 서비스를 제공합니다.
      • 예: HTTP는 80, HTTPS는 443, SSH는 22 등.
    • 특정 서비스(AWS Lambda, EC2, API Gateway 등)는 클라이언트 요청을 수신하기 위해 특정 포트를 사용할 수 있도록 구성됩니다.
      • 예를 들어, EC2 인스턴스는 보안 그룹에서 허용된 포트(예: 8080, 3000 등)로 요청을 수신합니다.
  • AWS에서의 포트 부여:
    • EC2 인스턴스에서 애플리케이션을 실행할 때, 사용자가 명시적으로 포트를 지정합니다.
    • AWS Load Balancer나 API Gateway를 통해 포트와 애플리케이션 엔드포인트 간의 매핑이 가능합니다.
    • 이 포트는 네트워크 트래픽 라우팅에 사용되며, 서버 응답이 CORS 정책과 충돌하지 않도록 설정하는 것이 중요합니다.

CORS와 AWS 포트의 관계

  • AWS에서 실행 중인 애플리케이션의 특정 포트를 열어두었다고 해서 CORS 문제가 해결되지는 않습니다.
    • CORS는 클라이언트(브라우저)에서 다른 Origin으로 요청을 보낼 때의 보안 정책이므로, AWS 서버나 API Gateway에서 올바른 CORS 설정을 해야 요청이 허용됩니다.
    • 반대로, CORS 정책을 제대로 설정하더라도 포트 번호가 잘못되었거나 열려 있지 않으면 요청이 성공하지 못합니다.

정리

AWS의 포트 번호는 네트워크 연결(예: 애플리케이션 접속)과 관련이 있고, CORS는 웹 브라우저의 보안 정책에 따라 Cross-Origin 요청을 허용 또는 차단하는 역할을 합니다. CORS를 설정하더라도 포트가 맞지 않거나 AWS 보안 그룹에서 허용되지 않은 경우 요청은 실패할 수 있습니다. CORS와 포트 설정은 서로 보완적으로 작동한다고 이해하면 됩니다.

profile
@lala.love_garden.lala

0개의 댓글