inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

ec2 스프링 https 적용 (feat. 도메인 적용)

829

spring4185

작성한 질문수 6

0

안녕하세요 웹 프로젝트 진행 중 궁금한 점이 생겨 질문드립니다.

react와 spring으로 개발을 진행하였고 둘다 ci/cd 적용을 해서 배포를 해둔 상태입니다!

 

문제상황

  1. 프론트는 도메인을 구입하여 https가 적용된 상태

  2. 벡엔드는 Ec2에서 돌아가고 있어 탄력적 ip만 사용하여 http만 적용

해결방법

프론트 도메인이 xxx.com이고 도메인을 하나 더 구입하여(xxx.net) 서버가 돌고 있는 ec2와 연결해 aws acm을 사용해 https가 적용되도록 하였습니다.

궁금한 점

  1. 프로젝트가 끝난 후 찾아보니 xxx.com(프론트 도메인)에 서브 도메인을 등록하여서 백엔드 로드벨런서를 적용하면 api.xxx.com을 백엔드 도메인으로 사용이 가능한 것으로 이해했는데 맞을까요?

  2. 서브 도메인 말고 하나의 도메인으로 프론트와 백엔드를 처리하는 방법이 있을까요?

  3. 실제로 많이 사용하는 서버가 올라가져 있는 ec2에 https를 적용하는 방법은 무엇인지 궁금합니다

ec2 spring https 스프링 도메인 dns

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

  1. 네, 만약 xxx.com 도메인이 당신의 것이고 DNS 설정 권한이 있다면, 서브 도메인을 생성하여 AWS 로드 밸런서 또는 EC2 인스턴스와 연결하는 것이 가능합니다. 서브 도메인을 만들고 적절한 레코드(A 레코드나 CNAME 레코드 등)로 AWS 리소스를 가리키도록 설정하면 api.xxx.com을 백엔드 도메인으로 사용할 수 있습니다.

  2. 프론트엔드와 백엔드를 하나의 도메인으로 처리하려면 리버스 프록시를 설정할 수 있습니다. 예를 들어, Nginx나 Apache와 같은 웹 서버는 특정 경로(ex: /api)로 들어오는 요청을 백엔드 서버로 프록시하는 역할을 할 수 있습니다. 이러한 설정을 통해 하나의 도메인으로 모든 요청을 처리하고 내부적으로 프론트엔드와 백엔드 서버로 라우팅하는 것이 가능합니다.

  3. EC2 인스턴스에 HTTPS를 적용하려면, 먼저 SSL/TLS 인증서가 필요합니다. AWS Certificate Manager(ACM)를 사용하여 인증서를 발급받거나 Let’s Encrypt와 같은 서비스를 사용할 수 있습니다. 인증서를 받으면, EC2 인스턴스에서 실행되는 웹 서버에 이를 적용해야 합니다.

    • Apache를 사용하는 경우는 SSL 모듈과 함께 VirtualHost 설정을 수정합니다.
    • Nginx를 사용하는 경우는 SSL 설정을 server 블록에 추가합니다.
    • 또한, EC2 인스턴스 대신 AWS Elastic Load Balancing을 사용하여 SSL/TLS 인증서를 로드 밸런서에 적용할 수도 있고, EC2 인스턴스에 직접 SSL/TLS 인증서를 설치할 수도 있습니다.

추가적으로 Spring Boot 애플리케이션에 HTTPS를 적용하기 위해서는 application.propertiesapplication.yml 파일에 적절한 설정을 추가하고, Spring Security를 이용하여 보안 구성을 제공하는 것이 좋습니다. 올려주신 정보에 따르면, Spring Boot는 프록시 서버 배후에서 실행될 때 “x-forwarded-for”와 “x-forwarded-proto” 헤더를 인식하고 요청이 안전한지 여부를 결정할 수 있게 해줍니다. 자세한 내용은 Spring Boot Reference Documentation에서 확인하실 수 있습니다.

답을언제쯤받아볼수있나요

0

27

2

형 책 어떻게 받아?

1

42

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

20

2

mvc 패턴 - 적용 강의에서 회원가입할 때 redirect가 아닌 forward인 이유가 궁금합니다.

0

19

1

프로젝트가 없어요..

0

44

2

JpaCursorItemReader의 정렬 조건 부재의 영향

1

36

2

changeTeam 메서드 질문

0

28

1

"컴파일 시점에 없는 값을 어떻게 참조할 것인가?" 섹션

1

45

2

테스트 관련 질문!

0

49

2

handleBindException 의 기대의도가 방향이 맞는지 궁금합니다.

0

37

2

SpringBoot 4.0.6 버전에서 PackageLogTracePostProcessor exception

0

66

3

페이징 처리에서 offset/limit에 대한 질문

1

47

1

인텔리제이 오류

0

47

1

프로젝트 의존 관계

0

49

2

application.properties가 적용되지 않아요

1

61

3

새 프로젝트 속 제너레이터에 SpringBoot가 없습니다.

0

47

2

usecase 사용 기준

1

60

2

섹션3. 11 회원객체 다이어그램

0

34

1

OCP, DIP과 @Qualifier 어노테이션에 대해서 질문합니다.

0

35

1

강의 연장 요청

0

41

2

설정 정보 없이 임베디드 데이터베이스 생성

0

36

1

형 이번에 낸 책이랑 강의 내용에 차이가 있어?

1

78

1

형 나 몰래 책내면 모를 줄 알고?

2

69

2

OrderServiceTest 상문주문 테스트 시 update 쿼리 문의

0

37

1