반응형

httpd란?

- "httpd"는 웹 요청을 처리하고 클라이언트에게 정적 및 동적 콘텐츠를 제공하는 역할을 수행한다. 또한 모듈 시스템을 통해 다양한 기능과 확장성을 제공하며, 가상 호스팅, 인증, 로깅, SSL/TLS 암호화 등의 기능을 포함한 다양한 구성 옵션을 제공한다.

 

- Apache HTTP Server는 가장 널리 사용되는 웹 서버 소프트웨어 중 하나로, 오픈 소스로 제공되며 다양한 운영 체제에서 동작할 수 있다.

 

 

httpd.conf

"httpd.conf"는 Apache HTTP Server의 주요 구성 파일로 웹 서버의 동작 및 구성을 정의하는 데 사용된다. "httpd.conf" 파일은 Apache 서버의 설치 디렉토리 내에 위치하며, 일반적으로 /etc/httpd/conf 또는 /etc/apache/httpd/conf.d와 같은 경로에 있을 수 있다.


httpd.conf 주요 설정

1. ServerRoot

Apache 서버의 루트 디렉토리를 지정한다.

ServerRoot "/etc/httpd"

 

2.  Listen

Apache 서버가 들어오는 연결을 수신할 포트 번호를 지정한다.

Listen 80

 

3. <VirtualHost>

Apache HTTP Server에서 가상 호스트를 정의하고 해당 호스트에 대한 구성을 지정하는 옵션이다. 가상 호스트는 단일 웹 서버에서 여러 개의 도메인 이름이나 IP 주소로 호스팅되는 여러 웹 사이트 또는 애플리케이션을 의미한다.

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example
    ErrorLog /var/log/apache2/example-error.log
    CustomLog /var/log/apache2/example-access.log combined
    
    # Request_URI 값이 ".gif", ".jpg" 등과 같은 확장자로 끝나는 경우 로깅에서 제외
    SetEnvIfNoCase Request_URI "\.(gif|jpg|png|css|js)$" do_not_log
    
    # 웹 서버가 디렉토리에 대한 요청을 받았을 때 순서대로 파일을 찾고 제공
    DirectoryIndex index.html index.html default.html
    
    # .do로 끝나는 모든 URL을 tomcatWorker 워커에게 전달
    JkMount /*.do tomcatWorker
    
    <Directory /var/www/example>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
        
        # GET과 POST 요청만 모든 사용자가 액세스가능하고 다른 메서드에는 인증된 사용자만 액세스 가능
        <LimitExcept GET POST>
            Require valid-user
        </LimitExcept>
    </Directory>
</VirtualHost>

 

 

ServerName

- 가상 호스트의 기본 도메인 이름을 지정한다.

 

ServerAlias

- 가상 호스트에 대한 대체 도메인 이름을 지정한다.

 

DocumentRoot

- 가상 호스트에서 제공되는 파일의 기본 디렉토리 경로를 지정합니다. 클라이언트가 웹 서버에 접근할 때 이 디렉토리의 파일을 보여준다.

 

LogLevel

- 가상 호스트의 로그 레벨을 지정한다.

 

ErrorLog, CustomLog

- 각각 에러 로그와 사용자 정의 액세스 로그의 경로를 지정한다.

 

SetEnvIfNoCase

- 환경 변수를 설정하는 데 사용되며, 대소문자를 구분하지 않고 헤더, URI 등의 값을 비교하여 조건을 만족하는 경우에만 환경 변수를 설정한다. 주로 로깅, 액세스 제어, 조건부 구성 등에서 사용된다.

 

DirectoryIndex

- 웹 서버에서 디렉토리에 대한 요청을 받아 제공하는 기본 파일을 설정한다.

 

JkMount 

- Apache HTTP Server와 Apache Tomcat을 통합하여 Java 웹 애플리케이션을 실행하는 데 사용되는 설정 지시문이다.이를 통해 특정 URL 패턴을 Tomcat 서버로 보내고, 해당 애플리케이션을 처리하도록 설정할 수 있다. 보통 웹 애플리케이션을 처리하기 위해 특정 경로 또는 확장자 패턴에 해당하는 URL을 Tomcat으로 라우팅하는 데 사용된다.

 

<Directory>

- 특정 디렉토리에 대한 액세스 권한(읽기, 쓰기, 실행 권한 등)과 관련된 설정을 지정한다.

  • Options : 디렉토리에 적용되는 옵션을 지정한다. 예를 들어, "Indexes" 옵션을 사용하면 디렉토리 내의 파일 목록이 표시되고, 다른 옵션으로는 "FollowSymLinks" (심볼릭 링크 따라가기), "ExecCGI" (CGI 실행) 등이 있다.
  • AllowOverride: 이 설정은 .htaccess 파일에 대한 오버라이드 규칙을 활성화하는지 여부를 지정한다. .htaccess 파일은 디렉토리 수준에서 웹 서버의 구성을 수정하는 데 사용된다.
  • Require: 이 설정은 특정 조건에 따라 액세스를 허용 또는 거부하는데, 예를 들어, "Require all granted"는 모든 사용자에 대한 액세스를 허용하고, "Require valid-user"는 인증된 사용자에게만 액세스를 허용한다.
  • LimitExcept: HTTP 메서드를 기반으로 허용되는 액세스 제어를 설정하는 데 사용된다.
반응형

'Server' 카테고리의 다른 글

Apache ssl.conf 설정하기  (0) 2023.06.16
RoutingDataSource 설정  (0) 2022.08.23
우분투의 명령어  (0) 2022.08.20
http, https 기본 포트 번호  (0) 2022.08.17
VirtualBox 서버 설정  (0) 2022.08.04

+ Recent posts