CORS란? CORS(Cross-Origin Resource Sharing)은 웹 브라우저에서 다른 도메인의 API를 사용할 때, 보안을 위해 설정된 보안 정책입니다. 예를 들어, 웹 사이트 A가 API 서버 B에서 데이터를 가져오려 할 때, API 서버 B에서 CORS 허용 설정이 되어 있지 않으면 웹 브라우저에서 API 접근이 거부될 수 있습니다. CORS 설정은 API 서버에서 HTTP 응답 헤더에 "Access-Control-Allow-Origin" 항목을 추가하여 허용할 도메인을 지정하는 것으로 가능합니다. 예를 들어, 아래와 같이 설정할 수 있습니다. $ Access-Control-Allow-Origin: https://example.com 이렇게 설정된 API 서버는 example.com 도..
append() 함수란 append() 함수는 파이썬에서 리스트의 끝에 새로운 요소를 추가하는 메소드입니다. 함수 형식 list.append(object) 예제. 새로운 정보를 리스트에 추가 # 리스트 생성 fruits = ['apple', 'banana', 'cherry'] # append() 함수를 사용하여 새로운 요소 추가 fruits.append('orange') # 추가 후 리스트 출력 print(fruits) 결과 ['apple', 'banana', 'cherry', 'orange'] 예제. 리스트 안의 리스트를 추가 >>> list1 = [1, 2, 3] >>> list2 = [4, 5, 6] >>> list1.append(list2) >>> print(list1) [1, 2, 3, [4, ..
journalctl 이란 Linux에서 사용되는 전체 시스템 로깅 서비스인 systemd journal에서 로그를 보는 데 사용되는 도구입니다. Systemd journal은 중앙화된 로깅 시스템을 제공하여 로그를 보기, 분석, 관리하기 쉽게 합니다. 설치 방법 Debian/Ubuntu 리눅스에서는 journalctl이 기본적으로 제공되며, 별도의 설치 없이 바로 사용할 수 있습니다. Fedora/RHEL/CentOS에서는 journalctl을 사용하기 위해서는 Systemd 패키지를 설치해야 합니다 $ yum install systemd 옵션 설명 및 예제 -f : 실시간으로 로그를 출력하며, 로그가 생성되는 것을 모니터링하는 데 유용합니다. $ journalctl -f -u [unit] : 특정 서비..
traceroute 란? 특정 대상으로 패킷이 경유하는 경로를 확인하는 도구로, 이를 통해 네트워크 문제를 진단하고 디버깅 할 수 있습니다. traceroute 설치 방법 ### Centos 설치 $ yum install traceroute ### Ubuntu 설치 $ apt-get install traceroute ### 위치 확인 $ which traceroute /usr/bin/traceroute ### 버전 확인 $ traceroute -V Modern traceroute for Linux, version 2.0.22 Copyright (c) 2008 Dmitry Butskoy, License: GPL v2 or any later 옵션 설명 사용법 : traceroute -[옵션] [목적지] -d..
mod_evasive - 아파치 ddos 보안 모듈로, 서버에 많은 요청을 보내는 트래픽을 차단하는 역할을 한다 설치 방법 Centos # Centos $ yum install epel-release $ yum update mod_evasive Ubuntu $ apt isntall libabache2-mod-evasive 설정 파일 위치 /etc/httpd/conf.d/mod_evasive.conf 설정파일 알아보기 LoadModule evasive20_module modules/mod_evasive20.so # 모듈로드 DOSHashTableSize 3097 # HashTable 크기-사이트 분석을 위한 사이즈할당\ # 접속량이 많은 사이트인 경우 크기를 크게 잡을것 DOSPageCount 2 # 지정..
예제 1. ls : 리스트 출력 - 기본 ls 명령어는 단순 파일 또는 디렉토리의 이름만 확인됨 - 이름으로는 파일인지 디렉토리인지 확인 불가 $ ls test1.err test1.log test1 test2 test3 예제 2. ls -l : 리스트 자세하게 출력 - l 옵션으로 결과를 자세하게 출력 - 파일의 속성, 소유자, 소유그룹, 크기, 생성 날짜와 시간, 파일 또는 디렉토리명 까치 출력됨 d : 디렉토리 d가 없으면 : 파일 l : 링크(바로가기) $ ls -l -rw-r--r-- 1 root root 571142 8월 29 13:57 test1.err -rw-r--r-- 1 root root 951113 8월 29 13:57 test1.log drwxr-xr-x 2 root root 22 1..
TCP Segmentation Offload 란? TCP는 전송시 패킷을 분할(Segmentation)하는데, 이 작업을 CPU가 아닌 NIC가 수행하도록 설정하는 것이 TSO이다. (기본 값은 ON이다.) 하지만 10G NIC 서비스 환경에서 우리는 이와 관련된 많은 장애를 겪었다. TCP 패킷 유실 및 지연 TCP 연결 종료 Load Average의 비정상적인 증가 결론적으로 TSO는 모두의 기대만큼 높은 성능을 내지 못하는 것으로 추정된다. (NIC만 1G로 바꿔도 이런 문제는 발생하지 않았다.) 결론적으로 TSO를 OFF로 설정함으로써 서비스는 정상화되었다. 이에 따른 CPU 사용량은 우려할 수준이 아니며 서비스 규모와 비례하는 정직한 지표를 보여 준다. 출처 : https://ston.readt..
커널 업데이트 $ yum update kernel 설치 확인 $ rpm -qa | grep kernel-3 kernel-3.10.0-693.el7.x86_64 kernel-3.10.0-1160.81.1.el7.x86_64 kernel-3.10.0-957.21.3.el7.x86_64 부팅 가능한 커널 리스트 확인 방금 설치한 커널 버전이 보이지 않네요 $ grep ^menuentry /boot/grub2/grub.cfg | cut -d "'" -f2 CentOS Linux (3.10.0-957.21.3.el7.x86_64) 7 (Core) CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core) grub2-mkconfig 실행 grub2의 설정 파일은 /boot/grub2/grub..
docker 설치 $ apt install docker-ce 에러 내용 containerd.io 패키지 버전 1.4.1 이상 설치 필요 The following packages have unmet dependencies: docker-ce : Depends: containerd.io (>= 1.4.1) but it is not going to be installed E: Unable to correct problems, you have held broken packages. containerd.io 설치 $ apt install containerd.io 에러 내용 이번엔 libseccomp2 패키지 버전 2.5.0 이상 설치 필요 containerd.io : Depends: libseccomp2 ~ 조치..
dmidecode 설치 # centos [root@test-1 ~]# yum install dmidecode # ubuntu [root@test-1 ~]# apt-get install dmidecode BIOS 버전 확인 [root@test-1 ~]# dmidecode -s bios-version U19 BIOS 릴리즈 날짜 확인 [root@test-1 ~]# dmidecode -s bios-release-date 10/17/2018 추가로 확인 가능한 정보 dmidecode -s [keywords] [root@test-1 ~]# dmidecode -s dmidecode: option requires an argument -- 's' String keyword expected Valid string ke..
에러로그 1779-Slot 0 Drive Array – Replacement drive(s) detected OR previously failed drive(s) now appear to be operational 조치 사항 1779-Slot X Drive Array – Logical drive(s) previously failed https://techlibrary.hpe.com/docs/iss/shared/gen9/error/Advanced/Content/242751.htm 1779-Slot X Drive Array Logical drive(s) previously failed 1779-Slot X Drive Array Logical drive(s) previously failed Sympto..
장애 현상 아래 오류와 함꼐 네트워크 통신이 끊겼다. nf_conntrack: table full, dropping packet. 도대체 nf_conntrack 른 무엇이란 말인가... nf_conntrack 란? netfilter가 네트워크에서 발생하는 내용들을 기록하고 추적하기 위한 모듈. 모듈을 활성화 한적이 없는데 어떻게 된 영문일까? nf_conntrack 모듈이 활성화 되는 경우 docker 같은 iptables nat 기능을 사용하는 어플리케이션 또는 iptable의 NAT 명령어를 사용 또는 확인을 하는 경우 자동으로 활성화된다. nf_conntrack module 확인 1. lsmod | grep nf_conntrack 2. cat /proc/modules | grep nf_conntra..