목록Project/2022 Lehgo (10)
miinsun
💻 실습 환경 OS: AWS Linux 💬 요구 사항 cors 에러는 보안 상의 이유로, 브라우저에서 교차 출러의 HTTP 요청을 제한하기 때문에 일어나는 에러이다. 외부 API를 사용하는 웹 어플리케이션은 보안상의 이유 때문에 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 리소스를 불러오려면 그 출처에서 올바른 cors 헤더를 포함한 응답을 반환해줘야 한다. 위와 같은 이유로 spring 서버와 vue 서버의 통신에서 cors 오류가 생겨 spring에서 cors를 허용해주도록 코드를 수정해줘야한다. 이를 해결하기 위해 구글링했을 때, 크게 3가지 방법을 사용할 수 있는 걸 알게 됐다. 1. main 메서드에서 cors 허용하기 2. webConfig.java 파일을 새로 만들어서 웹 ..
💻 실습 환경 OS: AWS Linux 💬 요구 사항 뷰 서버가 8080서버에서 떠지기 때문에, 도메인 서버를 이용할 때 포트번호를 입력해야하는 번거로움이 있다. 80포트로 접속 시 8080포트로 이동하도록 포트포워딩을 설정해주자. 📌 포트 포워딩 정보 변경 다음과 같이 간단한 명령어로 포트포워딩을 실행할 수 있다. 80포트로 접속 시 8080포트로 이동하도록 포트포워딩을 연결한것이다. $ ptables -A PREROUTING -t nat -I eth0 -p tcp —sport 80 -j REDIRECT —to-port 8080 📌 포트 포워딩 확인 $ sudo iptables -t nat -L --line-numbers 👾 결과 확인 아래와 같이 도메인만 입력했을때, 성공적으로 프로젝트가 연결되는 것..
💻 실습 환경 OS: AWS Linux 💬 요구 사항 스프링 서버와 뷰 서버, 도커가 제대로 돌아가는지 확인해주자. 포트 충돌이 나면 어느 프로세스를 죽일 것인지 확인하고 프로세스를 종료할 수 있다. 📌 실행되는 포트 확인 프로세스를 확인하기 위해 아래 명령어를 이용해준다. 스프링 서버는 grep java를, vue 서버는 node를 검색해주면 된다. $ ps auxf | grep [검색 키워드] 또는 아래 명령어를 통해 실행되는 모든 포트를 확인 할 수 있다. $ netstat -tlnp 이때 확인된 자바의 프로세스 id는 8193인 것을 확인 할 수있다. 📌 서버 종료 / 프로세스 강제 종료 kill -9 옵션으로 프로세스를 강제 종료 해주자 $ kill -9 [PID]
💻 실습 환경 OS: AWS Linux framework: Vue.js Build: npm 💬 요구 사항 AWS에서 EC2를 생성해 vue.js서버를 실행하자 📌 SSH 접속 터미널에서 ec2 어플리케이션에 접속하도록 아래 명령어를 입력한다. ssh -i [서버키 위치] [사용자]@[ip] 명령어는 다음과 같이 구성돼있다. aws Linux의 기본 사용자는 ec2-user이고, ip에는 aws 콘솔에서 Public IP4를 입력해주면 된다. ssh -i ~/.ssh/dalcServerKey.cer ec2-user@[publicIP4] 📌 Git clone 나는 깃을 이용해 프로젝트 형상 관리를 했다. 아래와 같은 명령어로 적절한 위치에 프로젝트를 클론받아주자. git clone [깃 주소] 📌 Vue 서..
💻 실습 환경 OS: AWS Linux framework: SpringBoot Build: Maven 💬 요구 사항 AWS에서 EC2를 생성해 Spring boot 서버를 실행하자 📌 SSH 접속 터미널에서 ec2 어플리케이션에 접속하도록 아래 명령어를 입력한다. ssh -i [서버키 위치] [사용자]@[ip] 명령어는 다음과 같이 구성돼있다. aws Linux의 기본 사용자는 ec2-user이고, ip에는 aws 콘솔에서 Public IP4를 입력해주면 된다. ssh -i ~/.ssh/dalcServerKey.cer ec2-user@[publicIP4] 📌 Git clone 나는 깃을 이용해 프로젝트 형상 관리를 했다. 아래와 같은 명령어로 적절한 위치에 프로젝트를 클론받아주자. git clone [..
💻 실습 환경 Framework: Spring Boot Build: Maven 💬 요구 사항 Git을 이용해 프로젝트를 관리할때, 남들에게 보여지면 안되는 주요 정보가 있을 수 있다. 예를 들어 DB 아이디 비밀번호, APi Client Key 등등이 있을 수 있다. 이와 같은 정보들을 다른 이들에게 보이지 않게 관리하도록 Properties파일을 만들어 Key를 관리 할 수 있는 방법이 있다. 📌 application-API-KEY.properties 생성 아래와 같이 api key를 관리 할 수 있다. properties명명 방식은 다음과 같다. application-[파일 이름].properties NAVER-URL=https://nid.naver.com/oauth2.0 NAVER-CLIENT=AA..
💻 실습 환경 Framework: Spring Boot, Spring Security Build: Maven 💬 요구 사항 & 서비스 흐름 Google, Naver, Kakao API를 이용해 회원 정보를 요청하고 그 정보를 이용해 서비스에 회원가입, 로그인하자 1. Google, Naver, Kakao에 application 등록을 하고 callback url을 입력함 2. 로그인 시, Google, Naver, Kakao에 AccessToken을 요청한다. 3. 성공적으로 AccessToken을 받으면 callBack주소로 이동한다. 4. AccessToken을 이용해 개인 정보를 요청한다. 5. 가입되지 않은 회원이면 회원가입을 수행한다. 6. 이미 가입된 회원이면 로그인을 수행한다. 7. 로그인시..
- 요구사항 정의서 ID 구분 서비스(메뉴) 기능 상세기능 1 1 사용자 회원가입 일반회원가입 이메일 회원가입 지원 SNS회원가입 네이버 회원가입 지원 카카오 회원가입 지원 구글 회원가입 지원 개인정보 제공 동의 회원가입시 입력한 정보를 서비스에 활용하는 것에 대한 동의 2 1 이메일 로그인 / 로그아웃 2 SNS 로그인 네이버, 카카오, 구글 3 아이디 찾기 가입한 휴대폰 번호로 아이디 찾기 4 비밀번호 찾기 가입한 아이디와 휴대폰 번호로 비밀번호 찾기 3 1 개인취향 설문 문항 선택지 사용자 기초 데이터 수집을 위한 설문 제공 2 설문 결과 유형 분류 선택지 기반에 따른 특정 여행자 유형 분류 4 1 메인페이지 종목 검색 종목 이름으로 해당 종목을 찾을 수 있음 2 프로필 이름과 사진으로 표시, 사진..