L4 로드밸런서의 DSR과 PIP 이해하기
·
Network
글의 목적DSR과 PIP의 개념을 이해하는 것이 중요한 것 같습니다. 이 문제에 대해서 한번 접해보거나 이런게 있구나 정도만 알아도많은 시간을 소모하지 않아도 될 것 같습니다. 이로 인해서 L4 로드밸런서를 사용해 VIP를 구성하는 경우 이 메커니즘에 대해서 반드시 알고 있는게 좋습니다.보통 에러 증상은 불특정패턴으로 TIMEOUT 이 발생하며 서비스가 안되었다가 이런 패턴 형식으로 문제가 발생하게 됩니다.PIP란 무엇인가?PIP(Proxy IP)는 L4 로드밸런서가 NAT(Network Address Translation) 수행 시 사용하는 자신의 사설 IP 주소를 의미합니다. 이는 클라이언트와 서버 간의 통신에서 L4 로드밸런서가 중간에서 출발지 IP 주소를 자신의 IP로 변환하는 역할을 수행합니다...
HTTPS 인증 오류 트러블슈팅: 불특정 다수에게 발생한 SSL 인증서 문제 해결기
·
Linux
문제 상황특정 도메인(https://deslumieres.co.kr/theatre)에 접속할 때, 일부 사용자들에게만 HTTPS 인증 오류가 발생하는 현상이 보고되었습니다. 모든 사용자가 아닌 불특정 다수에게만 발생한다는 점입니다.가설 제기 및 가설 검증 분석 과정가설 1: HSTS 설정 문제?제일 최근에 설정한 것이 HSTS 인데 이로 인해서 갑작스럽게 근처 사용자에게 해당 증상이 발생하였습니다.HSTS(HTTP Strict Transport Security)는 브라우저에게 "이 도메인은 무조건 HTTPS로만 접속하라"고 강제하는 보안 헤더입니다.Strict-Transport-Security: max-age=31536000; includeSubDomains HSTS는 정상적인 SSL 인증서가 갑자기 특..
CORS(Cross-Origin Resource Sharing) & Preflight 란?
·
Etc
1. CORS란?Cross-Origin Resource Sharing브라우저 보안 정책(Same-Origin Policy) 때문에다른 오리진(도메인/포트/스킴) 으로 요청할 때 제약이 생김.서버가 응답 헤더로 허용을 명시해야 브라우저가 요청 결과를 넘겨줌.2. 오리진(Origin) 구분오리진은 스킴 + 도메인 + 포트같은 오리진: http://localhost:8080 → http://localhost:8080다른 오리진:http://localhost:8080 → http://localhost:3000 (포트 다름)http://localhost:8080 → https://localhost:8080 (스킴 다름)http://localhost:8080 → https://api.example.com:443 (..
[NGINX] 프록시 헤더 설정 (도메인에 포트가 빠지는 증상)
·
Linux
배경https://t-admin.test.com:21000/information/file/helo 경로에서 게시판을 등록한 후 원래는 뒤로가기 로직으로 돌아가야 하는데, 실제로는 뒤로 가지 않고 도메인에서 포트가 빠져버리는 증상이 발생했다.분석브라우저 개발자 도구의 Network 탭 → Initiator 항목을 확인하면 어떤 체인으로 페이지가 이동했는지 알 수 있다.소스 코드 분석 결과, 게시판 등록 후 서버에서 반환하는 Location 값이 /information/file/helo (상대 경로)였다.상대 경로라면 브라우저는 현재 요청의 Host + Port를 기준으로 URL을 만들어야 한다.하지만, 리버스 프록시(Nginx) 설정에서 백엔드로 넘겨주는 Host 헤더에 포트가 포함되지 않으면, 애플리케이..
bash_profile, bashrc 차이점
·
Linux
☑️ bash_profile, bashrc 설명.bash_profile : "시스템에 처음 로그인할 때" 실행SSH 로그인콘솔 로그인GUI 로그인 화면에서 로그인bashrc: "이미 로그인된 상태에서 새로운 셸을 시작할 때" 실행이미 로그인된 상태에서 터미널 애플리케이션 실행이미 로그인된 상태에서 bash 명령어 실행스크립트에서 새로운 셸 시작☑️ 이해하기위 내용으로는 이해하기 힘든 사람들도 있을 것이다.그래서 내 친구에게 설명한 그대로 예시를 들어보겠다.(1) .bashrc 에 넣어야 할 것을 .bash_profile에 넣은 경우# ~/.bash_profileexport PATH=$PATH:/opt/special/binexport JAVA_HOME=/usr/lib/jvm/java-11export KUB..
[ANSIBLE] `become`의 권한상승 매커니즘, 환경변수
·
Ansible
☑️ 개요앤서블을 사용할 때 사용자의 환경 변수를 가져가야 할 때, 그리고 변수들이 하드코딩 되어있는 경우가 있다.☑️ 예시1. 환경 변수들이 하드 코딩된 프로세스인 경우쉘 스크립트 안에 변수의 값이 하드 코딩되어 들어간 경우다.[admjwjung@test2 bin]$ cat myprocess.sh #!/bin/bashreadonly PROC_NAME="myprocess"readonly JAR="myprocess.jar"readonly EXE_OPT=""readonly JAVA="/usr/java1.8/bin/java"---# 환경 변수들이 하드 코딩 된 프로세스의 경우,- name: myprocess become: yes become_user: myansibleid ansible.builtin.s..