본문 바로가기

Server/Web

Web - Apache HTTPS 프로토콜 강제 적용하기 (HSTS 설정) HSTS(HTTP Strict Transport Security)는 HTTP 응답 헤더에 설정하는 방식으로, 브라우저에게 HTTP 대신 HTTPS를 강제하도록 하는 기능입니다. HSTS 헤더를 중심으로 Apache 서버에서 HTTPS를 강제하는 방법을 알아보겠습니다. HSTS란 무엇인가요?HSTS는 서버가 브라우저에게 Strict-Transport-Security라는 HTTP 응답 헤더를 통해 HTTPS를 강제하도록 알려주는 보안 기술입니다. 브라우저는 이 헤더를 읽고 다음과 같은 동작을 수행합니다HTTP 연결 차단: HTTP로 접속하려는 시도를 HTTPS로 자동 변환합니다.정책 기억: HSTS 헤더의 max-age 값에 따라 정해진 기간 동안 HTTPS 강제 정책을 유지합니다.중간자 공격 방지: HTT.. 더보기
Web - Apache를 이용한 프록시 패스 설정 가이드 프록시 패스란?프록시 패스는 클라이언트의 요청을 다른 서버로 전달하는 기능입니다.백엔드 서버 분리 : 클라이언트는 프록시 서버만을 통해 접근하며, 실제 백엔드 서버는 외부에 노출되지 않습니다.로드 밸런싱 : 프록시 서버에서 요청을 받아 여러 백엔드 서버로 분산시킬 수 있습니다.보안 강화 : 프록시 서버에서 SSL 종료를 처리하여 백엔드 서버의 부담을 줄여 네트워크 보안을 강화할 수 있습니다.1. 모듈 활성화httpd.conf 파일은 일반적으로 /etc/httpd/conf/httpd.conf 또는 /etc/apache2/httpd.conf에 위치합니다.# mod_proxy 모듈 활성화LoadModule proxy_module modules/mod_proxy.so# mod_proxy_http 모듈 활성화 (.. 더보기
Web - Apache를 이용한 로드 밸런서 설정 가이드 Apache 웹 서버는 웹 사이트나 애플리케이션의 트래픽을 여러 서버에 분산시키는 로드 밸런서로도 사용합니다. 이를 통해 서버의 부하를 줄이고 성능을 향상시키며 고가용성을 보장할 수 있습니다. 로드 밸런서란?로드 밸런서는 네트워크 트래픽을 여러 서버로 분산시키는 역할을 합니다. 부하 분산 : 여러 서버에 트래픽을 분산시켜 서버 과부하를 방지합니다.성능 향상 : 여러 서버가 트래픽을 분담하여 응답 시간이 단축됩니다.고가용성 : 특정 서버에 문제가 발생해도 다른 서버에서 요청을 처리하여 서비스의 가용성을 높입니다.1. 모듈 활성화httpd.conf 파일은 일반적으로 /etc/httpd/conf/httpd.conf 또는 /etc/apache2/httpd.conf에 위치합니다.# mod_proxy 모듈 활성화L.. 더보기
Web - Apache mod_rewrite 사용 변수 모음집 Apache의 mod_rewrite 모듈에서 RewriteCond 지시문은 조건에 따라 RewriteRule이 실행되도록 하는 역할을 합니다. 이때 다양한 변수를 사용할 수 있는데, 각 변수는 서버 환경이나 요청 정보와 관련된 특정 값을 나타냅니다.Rewrite가 궁금하다면? 자주 사용되는 변수들1. %{HTTP_USER_AGENT}설명 : 클라이언트의 User-Agent 헤더 값을 나타냅니다.예제 : 특정 브라우저에서만 접근을 허용하거나 차단할 때 사용합니다.RewriteEngine OnRewriteCond %{HTTP_USER_AGENT} "MSIE" [NC]RewriteRule ^ - [F] 인터넷 익스플로러(IE) 사용자 접근을 차단 2. %{HTTP_REFERER}설명: 이전 페이지의 URL을 .. 더보기
Web - Apache 웹 서버에서 Redirect / Rewrite 방법 웹 서버를 운영하면서 URL을 재작성하거나 리다이렉트 하는 기능(Redirect와 Rewrite 등)이 자주 사용됩니다.두 방법 다 httpd.conf 파일에 값을 설정해서 사용 가능합니다. 리다이렉트 (Redirect)란?리다이렉트는 클라이언트에게 요청한 URL이 다른 URL로 이동했음을 알려주는 방식입니다. 서버는 클라이언트에게 새 URL을 제공하고 클라이언트는 그 새 URL로 다시 요청을 보냅니다. 주로 HTTP 상태 코드 301(영구) 또는 302(임시)와 함께 사용됩니다. Redirect의 장점클라이언트가 새 URL을 알게 되므로 검색 엔진 최적화(SEO)에 유리합니다.URL이 변경된 경우 사용자에게 명확하게 알려줍니다.Redirect의 단점클라이언트가 서버에 두 번 요청을 보내므로 성능에 약간.. 더보기
Web - Apache SSL 인증서 비밀번호 자동입력 / 비밀번호 삭제 Apache SSL 인증서에 비밀번호가 적용되어 있으면 Apache를 구동할 때, 비밀번호를 입력해야 실행됩니다. httpd-ssl.conf 파일에 스크립트를 등록하여 Apache 실행 시 자동으로 비밀번호를 입력하도록 할 수 있습니다. 1. 비밀번호를 입력한 스크립트 파일 생성 1-1. 비밀번호가 samso123인 경우 아래와 같이 pass.sh 스크립트를 생성 # vi pass.sh #!/bin/sh echo samso123 1-2. 생성한 스크립트에 실행권한 설정 # chmod +x pass.sh 2. httpd-ssl.conf 파일에 설정 추가 2.1 SSLPassPhraseDialog builtin 주석처리 후 pass.sh 스크립트 파일 실행경로 입력 #SSLPassPhraseDialog bu.. 더보기
Windows - Apache Web Server 설치 Windows에 Apache Web Server 설치하는 방법 1. https://www.apachelounge.com/download/ 에 접속하여 설치파일을 다운로드합니다. 2. 다운로드 받은 압출파일을 풀고 Apache24 폴더를 설치 할 경로로 이동시킵니다. (기본경로 C:\Apache24) Apache24 폴더를 E:\WebServer 폴더로 이동시켜 줍니다. 설치할 경로는 E:\WebServer\Apache24가 됩니다. 3. WebServer 환경설정 파일은 Apache24\conf 폴더에 모여 있습니다. (httpd.conf 파일 편집) 4. 아파치 웹 서버 설치하기 관리자모드로 명령프롬프트 창을 실행 후 설치 경로로 이동한 뒤 아래 명령어를 입력합니다. httpd.exe -k instal.. 더보기
Linux - Apache Web Server 설치 (컴파일 / yum) CentOS7에서 Apache 2.4 컴파일 설치 하는 방법 1. 필수 툴 설치 # yum install gcc gcc-c++ expat-devel wget openssl-devel epel-release 2. pcre 다운로드 및 컴파일 # mkdir /samso/download # cd /samso/download # wget https://sourceforge.net/projects/pcre/files/pcre/8.45/pcre-8.45.tar.gz # tar zxvf pcre-8.45.tar.gz # cd pcre-8.45 # ./configure --prefix=/usr/local # make # make install 3. apr-util, apr, httpd 다운로드 및 컴파일 # cd /s.. 더보기