전체 글 277

[WEB] Nginx 에서 tcp stream 설정 방법

Nginx를 사용하여 TCP 연결을 프록시하는 설정은 다음과 같이 할 수 있습니다. 기본적으로 Nginx는 HTTP 프록시를 지원하지만, TCP 프록시를 설정하기 위해서는 stream 블록을 사용해야 합니다. 아래는 예시 설정 파일의 내용입니다. 이 설정은 127.0.0.1:3128로 들어오는 TCP 연결을 127.0.0.2:8080으로 전달합니다. # /etc/nginx/nginx.conf 또는 /etc/nginx/conf.d/ 내의 적절한 설정 파일에 추가 # stream 블록은 TCP 프록시 설정을 정의합니다. stream { # server 블록은 프록시 서버를 정의합니다. server { # listen은 클라이언트가 연결할 IP 주소와 포트를 지정합니다. listen 127.0.0.1:3128..

WEB,WAS 2024.02.01

[WEB] Nginx 에서 Client IP 별 셋팅

아래는 주어진 조건에 따라 주석과 함께 자세한 Nginx 설정 예제입니다: http { # 클라이언트 IP 주소를 기반으로 변수 설정 geo $client_ip { default 0.0.0.0; 192.168.1.1 1; # 클라이언트 IP에 따라서 설정 192.168.1.2 2; 192.168.1.3 3; 192.168.1.4 4; 192.168.2.0/24 3; # 클라이언트 IP에 따라서 설정, /24는 24비트 서브넷을 의미합니다. 192.168.3.0/24 4; # 추가적인 클라이언트 IP에 대한 규칙을 추가하세요. } server { listen 80; server_name aaa.com; location /a/b/c/ { if ($client_ip) { # 클라이언트 IP별로 변수 설정 se..

WEB,WAS 2024.01.31

[Network] redirect 와 rewrite 비교

HTTP Redirect(리다이렉트)와 Rewrite(리라이트)는 웹 서버에서 사용되는 두 가지 다른 개념입니다. 각각의 목적과 동작 방식에 대해 자세히 설명하겠습니다. HTTP Redirect(리다이렉트): 목적: 클라이언트의 요청을 다른 위치로 이동시키는 데 사용됩니다. 예를 들어, 페이지가 옮겨졌을 때, 리다이렉트를 사용하여 사용자가 새로운 주소로 자동으로 전송되도록 할 수 있습니다. HTTP 상태 코드: 주로 3xx 범위의 HTTP 상태 코드를 사용합니다. 예를 들어, 301 Moved Permanently, 302 Found, 303 See Other 등이 있습니다. 클라이언트와 서버 간의 통신: 클라이언트가 요청을 보내면, 서버는 새로운 주소로 리다이렉트하라는 응답을 클라이언트에게 보냅니다. ..

WEB,WAS 2024.01.30

[Network] HTTP 오류코드 비교 (301, 302, 308)

HTTP 301 Moved Permanently: 응답 상태 코드 301은 영구적인 이동을 나타내며, 요청한 리소스가 새로운 위치로 영구적으로 이동했음을 의미합니다. 클라이언트는 이후에 해당 리소스에 대한 모든 요청을 새로운 위치로 보내야 합니다. 브라우저는 캐시에서 해당 리소스를 지우고 새로운 위치에서 데이터를 가져와야 합니다. HTTP 302 Found (or 307 Temporary Redirect): 응답 상태 코드 302는 임시적인 이동을 나타냅니다. 302는 이후 요청에서도 원래의 주소를 사용해야 함을 의미합니다. 클라이언트는 리소스를 임시적으로 다른 위치로 찾아야 하며, 검색 엔진 등은 기존의 주소를 유지해야 합니다. 주의: 몇몇 클라이언트는 302를 POST 요청에 대한 GET으로 변환하므..

WEB,WAS 2024.01.29

[Linux] disk format, mount 방법 (ext4, ntfs, xfs)

Linux에서 디스크를 마운트하는 것은 해당 디스크의 파일 시스템 형식에 따라 달라집니다. 일반적으로 사용되는 파일 시스템은 ext4, xfs, ntfs 등이 있습니다. 따라서 마운트하기 전에 디스크의 파일 시스템을 확인하는 것이 중요합니다. 다음은 몇 가지 일반적인 파일 시스템과 해당 파일 시스템을 마운트하는 방법입니다. ext4 파일 시스템: 여기서 /dev/sdXn은 마운트하려는 디스크 또는 파티션을 나타내고, /mnt/point는 마운트할 디렉터리입니다. sudo mount -t ext4 /dev/sdXn /mnt/point xfs 파일 시스템: 마찬가지로 /dev/sdXn은 마운트하려는 디스크 또는 파티션, /mnt/point는 마운트할 디렉터리입니다. sudo mount -t xfs /dev/..

Linux 2024.01.26

[IT잡지식] MBR 과 GPT 비교표

MBR(Master Boot Record)과 GPT(Guid Partition Table)은 둘 다 하드 디스크나 SSD와 같은 저장 장치에서 파티션 정보를 관리하는 두 가지 주요 형식입니다. MBR (Master Boot Record): 크기 제한: MBR은 32비트 주소 체계를 사용하며, 이로 인해 파티션 크기 제한이 있습니다. MBR는 2TB를 초과하는 디스크에 대해 문제가 발생할 수 있습니다. 파티션 제한: MBR은 각 디스크에 4개의 기본 파티션만 지원합니다. 이로 인해 더 많은 파티션을 만들려면 확장 파티션을 사용해야 하며, 이는 복잡성을 증가시킵니다. 부트로더 위치: 부트로더와 MBR은 동일한 섹터에 위치해야 합니다. 이는 부트로더의 크기 및 MBR의 공간 제약을 가져옵니다. GPT (GUI..

IT잡지식 2024.01.25

[Linux] ldd 명령어 다양한 옵션과 사용 예시

ldd는 Linux 시스템에서 사용되는 도구로, 다이나믹 링크 라이브러리(dynamic link library) 의존성을 확인하는 데 사용됩니다. 이 명령어를 통해 특정 실행 파일이나 공유 라이브러리가 어떤 다른 라이브러리들에 의존하고 있는지를 파악할 수 있습니다. 아래는 ldd 명령어의 사용법과 예시입니다. 옵션 설명 예시 -v 라이브러리 파일의 상세한 정보 출력 ldd -v /bin/ls -d 디버깅 정보 출력 ldd -d /path/to/your/executable -r 누락된 라이브러리 파일이 있는지 확인 ldd -r /path/to/your/executable -u 사용되지 않는 의존성 출력 ldd -u /path/to/your/executable -p 실행 파일의 필요한 라이브러리만 출력 ld..

Linux 2024.01.17

[IT잡지식] TrueNas Core VS Scale 비교

TrueNAS는 오픈소스 기반의 네트워크 저장 및 관리 솔루션으로, 데이터 스토리지를 효과적으로 관리하고 보호하는 데 사용됩니다. 이것은 FreeNAS의 후속 제품이며, TrueNAS Core와 TrueNAS Scale 두 가지 주요 버전이 있습니다. TrueNAS Core: 기능: 오픈소스 기반이며, 강력한 데이터 스토리지 및 파일 공유 기능을 제공합니다. ZFS 기반: ZFS 파일 시스템을 사용하여 데이터 무결성 및 성능을 향상시킵니다. 가상화 및 Plugin 지원: 기본적인 가상화 및 다양한 플러그인을 통한 확장성이 있습니다. TrueNAS Scale: Linux 기반: TrueNAS Core는 FreeBSD 기반인 반면, TrueNAS Scale은 Debian Linux를 기반으로 합니다. Kub..

IT잡지식 2024.01.16

[Linux] NFS 볼륨 조회 명령

NFS 볼륨을 조회하려면 showmount 명령어를 사용할 수 있습니다. 이 명령어를 사용하면 NFS 서버에서 공유 중인 디렉토리를 확인할 수 있습니다. 다음은 showmount 명령어를 사용하는 예시입니다 showmount -e showmount -e 192.168.0.100 이 명령어를 실행하면 해당 NFS 서버에서 공유 중인 디렉토리 목록이 표시됩니다. 이를 통해 어떤 디렉토리가 NFS로 공유되고 있는지 확인할 수 있습니다. 또한, 만약 로컬 시스템에서 마운트된 NFS 디렉토리를 확인하고 싶다면 mount 명령어를 사용할 수 있습니다 mount | grep nfs

Linux 2024.01.15

[CloudFoundary] cf 명령어로 모든 앱 중지, 시작 스크립트

Cloud Foundry는 애플리케이션 중심의 관리를 하기 때문에 직접적으로 컨테이너를 중지하거나 시작하는 명령어는 제공되지 않습니다. 대신, Cloud Foundry는 애플리케이션 단위로 관리합니다. 따라서 각 애플리케이션을 중지하고 시작하는 방법을 알려드릴 수 있습니다. 아래는 Bash 스크립트를 사용하여 Cloud Foundry에서 모든 애플리케이션을 중지하고 시작하는 간단한 예제입니다. 이 스크립트는 cf apps 명령어로 애플리케이션 목록을 가져온 다음, 각 애플리케이션에 대해 중지 또는 시작 명령어를 실행합니다. #!/bin/bash # cf 명령어가 설치되어 있어야 합니다. # 애플리케이션 목록 가져오기 app_list=$(cf apps | awk 'NR>2 {print $1}') # 모든 ..

Cloud 2024.01.12