전체 글 495

[네트워크] 네트워크 통신 과정 기초

이번 시간에는 네트워크 통신과정의 기초부분과 HTTP 리퀘스트 및 도메인 동작과정에 대해 이야기해보는 시간을 갖도록 하겠습니다. 네트워크 통신 - 간단한 과정 1. 웹 브라우저가 메시지를 만든다. 2. TCP/IP의 데이터를 전기 신호로 만들어서 보낸다. 3. 전기 신호가 케이블의 LAN을 통해 이동한다. 4. 액세스 회선을 통해 인터넷 내부로 접근한다. 5. 서버측의 LAN으로 접근한다. 6. 전기 신호가 웹 서버에 도착하여 응답 데이터가 웹 브라우저로 돌아간다. 네트워크 통신 - HTTP 리퀘스트 브라우저는 웹 서버에 보내는 리퀘스트 메시지를 작성하기 위해 URL을 해독합니다. URL을 해독하고 나면 브라우저는 HTTP 프로토콜을 사용하여 웹 서버에 액세스합니다. URL이 "무엇을"에 해당한다면 HT..

CS/네트워크 2023.01.04

[디버깅] AWS CloudFront 사용 중 발생한 이슈 및 결과 정리

AWS CloudFront를 접근하지 못하는 이슈, Get 방식만 적용되고 다른 방식은 통신이 적용되지 않는 이슈, Session에 값이 들어가지 않는 이슈 등 CloudFront를 사용하며 여러 이슈들을 만났었는데 그 이슈들의 해결과정을 정리하려 합니다.  1. AWS CloudFront 이슈1 - 502 접근 불가 이슈 문제 상황: googling을 통해 똑같이 적용을 했음에도 불구하고, CloudFront에 접속할 수 없다는 에러가 발생하였습니다.  해결 과정: Cookie 방문 기록 초기화 후 어느정도 해결하였으나 특정 페이지의 접근이 불가능한 에러가 여전히 있었습니다. 그래서 f12를 눌러보니 CloudFront가 https로 접근하려고 하는 것을 확인하였습니다.  그래서 환경설정을 수정하기 위..

IT/디버깅 2022.12.07

[AWS] EC2, CloudFront, Route53 연결하기

오늘은 EC2와 Route53을 연결한 뒤 과정으로 CloudFront를 통해 CDN 설정을 하는 법을 정리하겠습니다. 보통 웹사이트를 배포하면 용량이 큰 resources 때문에 페이지 로딩이 느린데, 보통 이러한 문제를 CDN을 통해 해결합니다. AWS에서는 CDN을 활용할 수 있도록 CloudFront를 제공합니다. 1. CloudFront 생성하기 2. EC2 주소 입력하기 원본 도메인에 EC2의 public 주소를 입력합니다. 참고로 이 부분에는 탄력적 IP의 고정 주소값을 입력할 수 없습니다. 3. 대체 도메인을 입력하기 대체 도메인을 입력하기 위해서는 반드시 SSL 인증서가 필요합니다. 4. 인증서 요청하기 인증서 유형은 퍼블릭 인증서 요청으로 하고, 도메인 이름은 기존에 받은 도메인으로 입..

백엔드/AWS 2022.12.04

[AWS] ec2에 domain Route53 설정하기

오늘은 Free Domain을 받고 ec2의 주소에 routing을 해보는 실습을 정리해보겠습니다. 1. free 도메인 받기 https://www.freenom.com/ Freenom - A Name for Everyone Cost Price Free Special www.freenom.com freenom에서 도매인발급 받는 방법은 생략하겠습니다. 2. Route53 생성하기 3. Freenom 사이트의 도메인에 들어가 네임 서버 등록하기 4. EC2 Public 주소 연결하기 이렇게 하면 원하는 Domain을 입력하면 우리가 생성해둔 EC2의 주소로 라우팅이 됩니다.

백엔드/AWS 2022.12.04

[Spring] 윈도우 터미널에서 gradlew test 에러 해결

intellij가 아닌 윈도우 터미널에서 빌드를 해보려고 하였으나 아래와 같이 please set the JAVA_HOME variable in your environment to match the location of your Java installation 에러가 발생하였습니다. 이 포스팅에서는 이 문제를 해결하는 과정을 작성하려 합니다. C:\Program Files\Java\jdk-11.0.13\bin 이었던 경로를 C:\Program Files\Java\jdk-11.0.13 로 수정해 문제를 해결하였습니다. 하지만 여전히 gradlew test를 빌드하면 에러가 발생합니다. 추가 에러 해결 문제 1 --stacktrace 옵션으로 문제를 확인해보니 아래와 같은 에러였습니다. org.gradle...

IT/디버깅 2022.10.31

[AWS] 내 PC와 EC2에서 RDS 접속하기

로컬 PC에서 RDS로 접근하기 위해서 RDS의 보안 그룹에 본인 PC의 IP를 추가하는 과정, EC2 에 mySql을 다운받아 연결하는 과정 등이 있는데 이를 상세히 설명하는 시간을 갖도록 하겠습니다. 내 PC에서 RDS 접속하기 위해 보안 그룹 설정하기 1. 데이터 베이스 보안 그룹 선택하기 RDS의 보안 그룹 정보를 두고, 브라우저를 새로 열어 EC2에 사용된 보안 그룹의 그룹 ID를 복사합니다. 2. 복사된 보안 그룹 ID와 본인 IP를 RDS 보안 그룹의 인바운드로 추가 3. Database 플러그인 설치 File -> Settings 에서 Database Navigator 설치하기 4. Action에서 Database Brower 실행 맥 OS: Command + Shift + a 윈도우/ 리..

백엔드/AWS 2022.10.31

[AWS] RDS 인스턴스 생성 및 파라미터 수정

RDS는 아마존에서 제공하는 관계형 데이터 베이스입니다. 이를 생성해서 파라미터 수정하는 방법에 대해 알아보겠습니다. RDS 인스턴스 생성 및 파라미터 수정 방법 1. RDS 인스턴스 생성하기 저는 MariaDB를 사용하지만 원하는 조건에 맞춰서 고르시면 됩니다. (상세 설정은 생략) 2. 주의 사항 1. 퍼블릭 액세스 기능을 "예" 로 설정한다. (이후 보안 그룹을 통해 지정된 IP만 접근하도록 막을 예정) 2. 데이터 베이스 이름을 반드시 적는다. (데이터베이스 이름을 지정하지 않으면 DB가 생성되지 않는다.) 3. 파라미터 설정 RDS를 생성하면 파라미터를 설정해주어야합니다. 이후 생성한 파라미터를 편집합니다. 4. 파라미터 편집 time_Zone : Asia/Seoul character_set_c..

백엔드/AWS 2022.10.31

[AWS] putty를 사용해 EC2 서버에 접속하기

이번 시간에는 생성한 EC2를 putty를 사용해 연결해보겠습니다. 1. https:/www.putty.org/ 사이트 접속해서 푸티를 다운받습니다. 2. 이후 puttygen.exe를 실행해 내려받았던 pem 키를 ppk 파일로 변환합니다. 3. EC2의 탄력적 IP를 입력합니다. 4. ppk를 로드하기 위한 화면을 클릭하고, ppk를 입력한뒤 save를 통해 session을 저장합니다. 5. 연결 확인 6. 자바 설치 sudo yum install -y java-1.8.0-openjdk-devel.x86_64 7. 기타 설정 1) 타임존 변경 sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime 2) HostNa..

백엔드/AWS 2022.10.28

[AWS] EC2 생성하기

오늘은 EC2를 생성하는 과정을 사진과 함께 누구나 따라할 수 있도록 소개하는 글을 작성해보도록 하겠습니다. 1. EC2 생성하기 1. 인스턴스 시작 버튼을 클릭합니다. 2. 운영체제(AMI)와 인스턴스 유형 고르기 반드시 free tier로 해주세요 3. 키페어 설정 이후 나온 pem키를 반드시 가지고 있어야 합니다. 4. 보안그룹 설정 편집을 누른뒤 https 등의 포트를 설정해주셔야 합니다. 5. 인스턴스 생성 후 확인 이렇게 하면 인스턴스의 생성이 완료됩니다.

백엔드/AWS 2022.10.27

[네트워크] 쿠키와 세션 정리

웹페이지를 이동할 때마다, 매번 사용자인지를 확인하기 위해 로그인 절차를 진행하는 것은 매우 불편한 일 입니다. 이를 해결하기 위해 어떤 사용자인지를 확인하는 방법으로 쿠키와 세션을 사용하는데, 이 둘의 차이점에 대해 알아보겠습니다. 네트워크 - 쿠키 1. 개념 사용자가 웹사이트를 접속하면 사용자의 브라우저에 저장되는 파일입니다. 2. 동작 순서 1) 클라이언트가 페이지를 요청합니다.(로그인) 2) 웹 서버에서는 쿠키에 정보를 담아 생성합니다. 3) 응답에 쿠키를 담아 클라이언트에 전송합니다. 4) 쿠키는 클라이언트가 가지고 있닫가 서버에 요청할 때 쿠키를 전송합니다. 5) 웹 서버는 쿠키를 바탕으로 사용자를 체크합니다. (로그인을 여러번 할 필요가 없음) 3. 쿠키의 보안 문제 1) 쿠키 값은 임의로 ..

CS/네트워크 2022.10.21