항해14기 본과정/항해14기 개발일지

[항해 14기] 개발일지44 (실전프로젝트 - 도메인, HTTPS 1차 시도)

스쿼트잘함 2023. 5. 26. 22:05

실전프로젝트 - 2주차

 

1. 회의 내역(BE 관련)

1) 카카오 싱크

- 성인 인증 이슈로 반려될 경우 일반 유저 회원가입/로그인 로직

- 소셜 로그인만 연결하여 유저가 login진행 시 db에 해당 id가 있으면 로그인 처리

- 없을 경우 자동으로 회원가입 진행(카카오의 res값을 우리 db에 밀어넣음)

- 관련하여 유저에게 공지/약관 등에 대한 고지 필요

 

 

 

2. 작업 내역

1) 도메인

- 가비아 등에서 보유한 ip주소를 기반으로 발급 가능

- IP : 인터넷에 연결된 장치들의 각각의 식별 주소

- 도메인 : 편리한 식별을 위해 ip에 이름을 부여한 것 naver.com -> 220.95.233.172

- 구성요소 : daum.co.kr -> daum(컴퓨터의 이름), co(최상위 도메인), kr(한국 NIC 도메인)

- HTTPS 발급을 위해선 대부분의 경우 도메인이 필요(도메인 소유주 검증 과정 등)

 

2)  HTTPS

- HTTP :  HyperText Transfer Protocol의 약자

- 하이퍼텍스트(HyperText)를 전송(Transfer)하기 위해 사용되는 통신 규약(Protocol)
- HTTP는 정보를 텍스트로 주고 받기 때문에 네트워크에서 전송 신호를 인터셉트 하는 경우 원하지 않는 데이터 유출이 발생할 수 있다. 이러한 보안 취약점을 해결하기위한 프로토콜이 HTTP에 S(Secure Socket)가 추가된 HTTPS
- 기본 골격이나 사용 목적 등은 HTTP와 거의 동일하지만, 데이터를 주고 받는 과정에 보안 요소가 추가됨, 서버와 클라이언트 사이의 모든 통신 내용이 암호화됨
- HTTPS는 SSL이나 TLS 프로토콜을 통해 세션 데이터를 암호화하며, 기본 TCP/IP 포트는 443이고, SSL 프로토콜 위에서 HTTPS 프로토콜이 동작
- TLS(Transport Layer Security) : 과거 SSL에서 발전하며 이름이 변경 된 것, 하지만 여전히 SSL이란 이름으로도 많이 사용됨
- 네이버, 다음은, 구글 등은 검색 엔진 최적화(SEO: Search Engine Optimization) 관련 내용을 HTTPS 웹사이트에 대해서 적용하고 있다. 즉, 키워드 검색 시 상위 노출되는 기준 중 하나가 보안 요소

- CA 기관을 통해 발급

 

 

 

3. 멘토링

1) PR 시 코드 리뷰 진행 추천

- 기능 구현에 바빠 팀원들간의 코드 리뷰를 미루고 있던 상황

2) 코드/커밋 컨벤션

- 지금처럼 다양하게 연습하면서 계속 합의해가며 안정화 진행

3) 테스트코드

- 우선순위로 진행추천

4) 레디스

- 간단한(이메일 인증, 리프레쉬 토큰) 것들을 위해 굳이 레디스 서버까지 열어줘야 하는가? -> mysql등의 이미 사용하던 db로 진행하는걸 추천

 

 

 

4. 트러블슈팅/회고

1) 여러가지 방식으로 시도하였는데 HTTPS 발급에 실패하였다

 

2) 이슈 1

- 웹서버 구축 없이 진행 하였는데 대부분 실패하였다

- 첫번 째 certbot - standalone 방식으로 진행

- 다양한 레퍼런스 사이트를 이용하였지만 모든 시도가 실패하였고, 해당 방식은 웹서버가 구축되어 있어야 가능하다고 결론

 

3) 이슈 2

- certbot의 DNS-01방식으로 진행

- 제시된 txt타입의 네임/벨류 방식으로 연결된 나의 도메인에 dns를 추가해주어 인증하는 방식

- 웹서버 없이 가능한 것으로 알고 있었으나 여러가지 레퍼런스를 참조하여도 결국 실패

4) 이슈 3

- nginx 세팅 이후 certbot - standalone으로 다시 진행

- 여전히 다양한 레퍼런스 사이트들의 방식을 정리하여 모두 적용해 보았으나 실패

 

5) 레퍼런스 사이트

- 추후에 CA 발급 방식에 익숙해지면 왜 실패하였는지 분석할 예정

- https://minsigi.tistory.com/9

- https://happist.com/573990/%EC%B5%9C%EC%8B%A0-lets-encrypt-ssl-%EC%9D%B8%EC%A6%9D%EC%84%9C-%EB%B0%9C%EA%B8%89-%EB%B0%A9%EB%B2%95-3%EA%B0%80%EC%A7%80-%EC%A0%95%EB%A6%AC#4_DNS_iyonghae_balgeub_badgi