분류 전체보기 38

[Setting | Ubuntu] Nginx 설치 및 인증서 설정

우분투 환경에 Nginx를 설치하고 서비스에 인증서 세팅하는 방법을 정리한다.작성일 : 2023-12-20OS : Ubuntu 22.04 LTSNginx : 1.18.0 apt update & upgradesudo apt updatesudo apt upgrade 이전버전 삭제sudo apt remove nginx nginx 설치sudo apt install nginx certbot 설치Certbot은 HTTPS를 활성화하기 위해 수동으로 관리되는 웹사이트에서 Let’s Encrypt 인증서를 자동으로 사용하는 무료 오픈 소스 소프트웨어 도구입니다.Certbot - LinkLet's Encrypt - Linksudo apt install certbotsudo apt install python3-certbo..

Setting 2025.01.18

[Tip | MySQL] MySQL Deadlock found when trying to get lock

java.sql.SQLException: Deadlock found when trying to get lock; try restarting transaction Query: update …> 작성일 : 2015-10-05> OS : CentOS 문제상황특정 테이블에 쿼리 실행시 데드락이 발생하였다.java.sql.SQLException: Connection is closed.java.sql.SQLException: Deadlock found when trying to get lock; try restarting transaction Query: update table set ... where field1=? and field2=? Parameters: [test1,test2] 문제확인mysql의 경우 ..

Tip 2025.01.14

[Tip | Memcached] MemcachedClient getClient Exception

MemcachedClient getClient Exception : java.lang.IllegalStateException: Shutdown in progress> 작성일 : 2015-10-14> OS : CentOS  문제상황(Was(Tomcat) * 2) + DB(Mysql)2 + memcached\1 구성의 게임서버환경에서 서비스가 정지되어 버리는 현상이 발생하였다. 접속시간대 로그는 다음과 같이 Xmemcached가 멈췄다는 에러를 출력하고 있었다. 그리고 이상한건 WAS가 죽어있었다.ERROR ({http-bio-80-exec-40} MemcachedConnection.java[getClient]:252) [2015-10-14 18:49:45,948] - ==> MemcachedClient g..

Tip 2025.01.14

[Concept | Auth] 회원인증 플로우 정리 (5) - RefreshToken 운용

3계층 구조의 서버환경에서 RefreshToken 운용법을 정리한다.> 작성일 : 2025-01-13> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어   상세 사용자가 권한을 필요로 하는 정보 요청1차 AccessToken 확인 불가시 RefreshToken으로 재인증 처리한다.Frontend - 사용자에게 처리중 화면을 제공 API 호출브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 RefreshToken을 해더에 넣..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (4) - AccessToken 운용

3계층 구조의 서버환경에서 AccessToken 운용법을 정리한다.> 작성일 : 2025-01-13> Cloud : AWS 전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어 상세 사용자가 권한을 필요로 하는 정보 요청브라우저를 통해서 요청폼이 전달된다.Frontend - 사용자에게 처리중 화면을 제공 API 호출브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 AccessToken을 해더에 넣어 호출한다.Frontend : 브라우저를 통해 전달된(..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (3) - 회원로그인 (SignIn)

3계층 구조의 서버환경에서 회원로그인 플로우를 정리한다.> 작성일 : 2025-01-13> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어   상세 사용자 로그인 요청브라우저를 통해서 로그인폼이 전달된다.Frontend : 사용자에게 로그인진행 화면을 제공 로그인 API 호출입력정보가 전달되어 유효성 체크Frontend : API 호출Backend : DB를 통해 회원정보 조회 회원로그인 실패 처리회원 조회불가, 비밀번호 불일치시 또는 ..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (2) - 회원확인 (Verify)

3계층 구조의 서버환경에서 이메일 인증시 회원확인 플로우를 정리한다.> 작성일 : 2025-01-12> Cloud : AWS  전체 플로우User(Browser) : 사용자가 이메일로 받은 링크를 브라우저 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)   상세 사용자 가입시 전달받은 이메일 클릭이메일에서 링크를 클릭하면 브라우저에서 인증이 실행된다.Frontend : 사용자에게 인증키(이메일 링크에 포함)를 전달받는다. 확인 API 호출인증키가 전달되어 복호화 및 유효성 체크Frontend : API 호출Backend : 키값을 복호화 하고 DB를 통해 유효성을 체크 회원확인..

Concept 2025.01.12

[Concept | Auth] 회원인증 플로우 정리 (1) - 회원가입 (SignUp)

3계층 구조의 서버환경에서 회원가입 플로우를 정리한다.> 작성일 : 2025-01-10> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)AWS SNS : 이메일을 통해 사용자 인증   상세 사용자 가입 요청브라우저를 통해서 가입폼이 전달된다.Frontend : 사용자에게 가입진행 화면을 제공 가입 API 호출입력정보가 전달되어 유효성 체크Frontend : API 호출Backend : DB를 통해 가입정보의 유효성을 체크 회원가입 실패 처리유효성 체크 실패시 또는 기타 에러에 대한처리Backend..

Concept 2025.01.10

[Tip | Linux] Can't create/write to file ... (Errcode: 28 - No space left on device)

Can’t create/write to file ‘/mysql/tmp/ibSAi4kh’ (Errcode: 28 – No space left on device)> 작성일 : 2016-07-04> OS : CentOS  문제상황여러 사이트를 운영중인 서버에서 mysql이 stop 되어 start를 시도 하였으나 다음과 같은 에러가 발생하며 시작되지 않았다.Can't create/write to file '--/mysql/tmp/ibSAi4kh' (Errcode: 28 - No space left on device)InnoDB: Error: unable to create temporary file; errno: 28InnoDB: Assertion failure in thread 140119057037088 i..

Tip 2025.01.10

[Tip | Tomcat] Several ports ... already in use.

Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.> 작성일 : 2017.03.31> OS : Windows7  문제상황개발중 비정상적인 was 종료로 인해 다음과 같은 에러와 함께 재시작 되지 않는다. 실 운영환경에서도 이런경우가 있다.Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To ..

Tip 2025.01.09