1. 미들웨어이야기/02. Apache 27

apache에서 file cache

사용자가 많이 몰려 이미지 등의 다운로드로 서버 부하가 우려될 경우잦은 변경이 없는 파일들에 대해 cache할 수 있도록 설정 할 수 있습니다.cache하는 시간(초단위)도 설정할 수 있으며,FileEtag옵션을 이용하여 파일의 MTIME, Size의 변경이 있을 경우엔 cache되어 있더라도다시 다운로드 받을 수 있도록 설정할 수 있습니다.(아래 예)다만, mod_headers.so 모듈의 load가 전제로 적용 가능한 옵션입니다. Header set Cache-Control "max-age=36000, public, must-revalidate" FileETag MTime Size LoadModule headers_module modules/mod_headers.so

SSL인증서 정상 설치 여부 확인

SSL인증서를 갱신 하였는데,제대로 갱신 인증서가 설치되었는지 확인코자 할 때 openssl을 이용하면 됩니다. 인증서를 갱신한 서버 telnet에서 아래와 같이 명령어 수행openssl s_client -connect 10.10.10.10:443 ip에 해당하는 서버에 설치 인증서가 화면에 출렵됩니다.신규 인증서와 동일한지 확인 인증서 맨 마지막 라인에Verify return code: 0 (ok)=> 출력되면 정상 Verify return code: 10 (certificate has expired)=> 만료된 인증서 상태 시 expired 출력됨

Apache 모듈정보

기본적으로 포함하지 않는 모듈 기본적으로 컴파일되는 모듈도 있지만, 모듈을 사용하려면 직접 혹은 most나 all 키워드를 사용하여 명시적으로 포함해야 하는 모듈이 있다. 그래서 아래 옵션들을 사용한다. --enable-auth-anon mod_auth_anon이 제공하는 익명사용자 접근 기능을 사용한다. --enable-auth-dbm mod_auth_dbm은 사용자명과 암호를 DBM형식의 데이터베이스 파일에 저장하는 HTTP Basic Authentication에서 사용한다. 모듈을 사용하려면 이 옵션을 사용한다. --enable-auth-digest mod_auth_digest가 제공하는 RFC2617 Digest authentication을 사용한다. 이 모듈은 정보를 일반 문자파일에 저장한다. ..

Apache 환경변수

configure의 선택을 무시하거나 관례와 다른 이름이나 위치에 있는 라이브러리와 프로그램을 찾도록 도와주는 유용한 환경변수들이 있다. CC 컴파일에 사용할 C 컴파일러 명령어를 지정한다. CFLAGS 컴파일때 사용하길 바라는 C 컴파일러 옵션을 지정한다. CPP 사용할 C 선처리기 명령어를 지정한다. CPPFLAGS C/C++ 선처리기 옵션. 예를 들어, 헤더파일이 관례와 달리 includedir 디렉토리에 있다면 -Iincludedir을 사용한다. LDFLAGS 링커 옵션. 예를 들어, 라이브러리가 관례와 달리 libdir 디렉토리에 있다면 -Llibdir을 사용한다. by 김영준

OpenSSL의 소개

OpenSSL의 소개 o 정의와 특징 - TLS(Transport Layer Security)와 SSL(Secure Sockets Layer) 프로토콜을 구현하는 오픈소스 - C언어로 작성되어 범용 암호화 라이브러리 지원 o 알고리즘 - 암호문(cipher) AES, DES, Triple DES, CAST-128, IDEA, RC2, RC4, IC5, blowfish, Camellia, GOST 28147-89 - 암호학의 해시 함수 MD5, MD2, SHA-1, SHA-2, MDC-2 - 공개 키 암호 방식 RSA, DSA, Diffie-Hellman key exchange, Elliptic curve cryptography, GOST R 34.10-2001 o OS별 OpenSSL 확인 방법 - SU..

Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Worker 방식

Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Worker 방식 o 정의 - 자식 프로세스가 여러 개의 스레드를 갖는 구조. - 하나의 스레드는 하나의 연결을 담당. - prefork 방식에 비해 메모리 사용량이 적음. - 스레드 간에 메모리를 공유함. 리소스 경합이 발생하지 않도록 주의 필요. - 통신량이 많은 서버에 적절. 특히 PHP를 쓰는 경우 유의. o 설정 및 지시어 설명 StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 - StartServers : 아파치 서버 기동 시 프로세스의 수 - MaxClient : . ..

Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Prefork 방식

Apache Multi-Processing Modules(MPM, 다중처리모듈)의 Prefork 방식 o 정의 - 하나의 자식 프로세스가 하나의 스레드를 갖는 구조. - 하나의 자식 프로세스는 하나의 연결을 담당. - 프로세스 생성이므로 메모리 사용량이 높음. - 프로세스 간 메모리를 직접 공유하지 않으므로, 메모리 공간이 독립적이어서 안정적. o 설정 및 지시어 설명 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 - StartServer : 아파치 서버의 자식 프로세스 수 - MinSpareServers, MaxSpareServers : 부하가 적을 경우, MinSpareServers 값을 ..

Apache 에러 페이지 설정

httpd .conf 수정 ErrorDocument 503 /error/503.html ErrorDocument 500 /error/500.html ErrorDocument 404 /error/404.html ErrorDocument 403 /error/403.html Apache의 httpd.conf 파일을 여신분 ErrorDocument 검색후 해당 내용 추가 **http 에러코드 100: Continue 101: Switching Protocols 200: OK, 에러없이 전송 성공 202: Accepted, 서버가 클라이언트의 명령을 받음. 203: Non-authoritavive Information, 서버가 클라이언트 요구중 일부만 정송 204: Non Content, 클라이언트 요구를 처리했..

apache rewrite 설정

도메인 Redirection 하기 - Rewrite 모듈을 이용하는 방법 DocumentRoot /home/linux ServerName linux.kr ServerAlias www.linux.kr ServerAlias linux.co.kr ServerAlias www.linux.co.kr RewriteEngine On RewriteCond %{HTTP_HOST} ^(linux\.kr|www\.linux\.co\.kr|linux\.co\.kr) RewriteRule (.*) http://www.linux.kr$1 [R,L] Rewrite 모듈을 이용하기 위해 필요한 것들에 대해서 알아보자. Rewrite 를 적용할 수 있는 범위 - 서버 전체에 설정할 수도 있고 특정 호스트에만 적용할 수도 있다. Rew..

Apache 버전 및 MPM 확인 방법

Apache 버전 및 MPM 확인 방법은 아래와 같다. 1. Apache 버전 확인 방법 -> 명령어를 실행하면 아래 내용처럼 Apache 버전과 설치된 날짜까지 확인이 가능함. root@test1 [/apache/testsvc/bin]# ./httpd -v Server version: Apache/2.0.55 centOS_Apache-based_Web_Server Server built: Apr 17 2014 18:00:54 2. Apache MPM 확인 방법 -> Apache는 다중처리모듈 방식으로써 크게 prefork와 worker 방식을 지원한다. 아래 내용을 보면 worker방식으로 설치되어 있다. root@test1 [/apache/testsvc/bin]# ./httpd -l Compiled ..