inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모든 개발자를 위한 HTTP 웹 기본 지식

클라이언트 서버 구조

서버에서는 어떻게 URL을 숨길 수 있을까요?

해결된 질문

335

재성

작성한 질문수 4

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)


2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)


3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
갑자기 드는 생각인데 팀프로젝트나 기타 협업을 위해 깃허브 같은 사이트에 프로젝트를 올리게 될 경우 서버 주소와 데이터베이스 주소가 노출 될 수 있는데 해당 경우에는 어떻게 URL 데이터를 숨겨서? 올리는 방법은 무엇이 있을까요?

네트워크

답변 1

3

y2gcoder

안녕하세요. 재성님, 공식 서포터즈 y2gcoder입니다.

바깥으로 노출을 원하지 않는 값을 처리하는 방법은 아주 다양합니다.

  1. 가장 먼저 생각나는 방법이 설정 파일의 값으로 뺀 후, gitignore 등으로 해당 설정 파일을 사이트에 올리지 않는 것입니다. 배포할 때는 해당 설정 파일을 임의로 만들어 같이 빌드해서 배포하는 식으로 할 수 있습니다.

  2. AWS 와 같은 클라우드 플랫폼을 이용한다면 바깥으로 노출되길 원하지 않는 값들을 안전하게 보관할 수 있는 서비스를 제공하고 있습니다. 이 서비스에 중요한 값들을 보관하고, 배포할 때 해당 서비스에서 값을 불러와 해당 설정 값으로 애플리케이션을 배포할 수도 있습니다. 또한 배포할 서버 인스턴스의 환경 변수에 해당 설정 값들을 저장해놓고, 애플리케이션 구동 시 해당 값을 읽게 할 수도 있습니다 :)

  3. 그것도 아니라면 Jasypt 와 같이 애플리케이션 차원에서 해당 값들을 암호화하고, 애플리케이션 구동시 라이브러리를 통해 해당 값을 복호화해서 사용할 수도 있습니다.

제 짧은 경험에서는 위와 같은 방법들이 떠오릅니다!

이와는 별개로 재성님의 질문에 맞춰 대답을 해보자면 서버 주소, 데이터베이스 주소의 노출보다 더 신경써야 할 것은 각 주소에 대한 적절한 권한 제어라고 생각합니다. 데이터베이스 주소가 공개되더라도 더 중요한 root 계정이나 여타 계정들을 잘 관리해서 유출되지 않도록 하고, 백엔드 API 주소를 노출하더라도 해당 서버에 접근해서 권한없이 할 수 있는 일에 대한 제한을 잘 두는 것이 더 중요하다고 생각합니다!

(물론 저도 데이터베이스 주소는 좀 걱정이 됩니다... )

 

감사합니다.

캐시무효화시 그냥 no-store만 넣어되지 않나요?

0

71

2

API의 헤더와 바디에 대한 문의 입니다.

0

70

2

수정폼과 수정

0

66

1

쿠키에 대해 질문드려요!

0

88

2

서버에서 캐시 검증 헤더를 직접 처리해야 하나요?

0

86

1

http api get, post 멱등

0

40

1

컬렉션의 개념

0

49

1

시작라인에 들어가는 요청 대상 경로는 상대 경로 아닌가요?

0

54

1

PATCH 는 PUT처럼 멱등이여야 하지 않나요?

0

80

1

리소스 질문드립니다

0

56

1

IP 패킷 질문입니다.

0

59

1

html from, http api

0

75

2

브라우저 캐시가 60초 유효하다는게 무슨 뜻일까요

0

120

1

stateless 무상태 예제가 생각났는데. 저가 생각 한게 맞는지 궁금합니다.

0

98

1

URI 및 URL 질문, 왜 자바(스프링)에서는 이렇게 나누었는지?

0

141

1

host와 port

0

106

1

tcp/ip는 연결을 유지? 아니면 유지하지 않음?

0

144

1

다음 강의 커리큘럼 질문!!

0

130

2

캐시 개념에 대해서 설명하시지는 않으시는건가요?

0

113

1

클라이언트가 patch, delete 요청 시 알아야 하는 url

0

91

1

html form 형태 전송시 new, edit 등 컨트롤 리소스를 사용하는 이유

0

168

2

비 연결성(connectionless) 강의에서 질문입니다~

0

139

1

PATCH를 사용하지 못할 때 왜 POST?

0

162

2

협상과 우선순위3 질문드립니다.

1

130

1