Apache HTTP Server Version 2.2

Apache > HTTP Server > Documentation > Version 2.2 > 모듈

#### Please note

This document refers to a legacy release (2.2) of Apache httpd. The active release (2.4) is documented here. If you have not already upgraded, please follow this link for more information.

You may follow this link to go to the current version of this document.

# 아파치 모듈 mod_info

가능한 언어: en | ja | ko

이 문서는 최신판 번역이 아닙니다. 최근에 변경된 내용은 영어 문서를 참고하세요.

설명: | 서버 설정에 대한 종합적인 정보를 보여준다
상태: | Extension
모듈명: | info_module
소스파일: | mod_info.c

### 요약

`mod_info`를 사용하려면 `httpd.conf` 파일에 다음과 같이 추가한다.

`<Location /server-info>
SetHandler server-info
</Location>`

이렇게 설정하면 `http://your.host.example.com/server-info`에 접근하여 서버에 대한 정보를 볼 수 있다.

### 주제

- 보안 문제
- 보여주는 정보 선택하기
- 알려진 한계

### 지시어들

- Comments

## 보안 문제

한번 서버가 `mod_info`를 읽어들이면, 디렉토리별 설정파일(예를 들어, `.htaccess`)을 포함한 모든 설정파일에서 이 핸들러 기능을 사용할 수 있다. 그래서 사이트에 보안관련 문제가 될 수 있다.

특히 이 모듈은 시스템 경로, 사용자명/암호, 데이터베이스 이름과 같이 여러 아파치 모듈의 설정지시어에 기록한 민감한 정보를 유출할 수 있다. 그래서 이 모듈은 항상 주의해야 하며 통제된 환경에서만 사용해야 한다.

다음과 같이 `mod_authz_host`를 사용하여 서버 설정 정보에 대한 접근을 제한할 수 있다.

### 접근 제어

`<Location /server-info>
SetHandler server-info
Order allow,deny
# 자신으로 부터 접근 허가
Allow from 127.0.0.1
# 추가로, 근처에 있는 워크스테이션으로 부터 접근 허가
Allow from 192.168.1.17
</Location>`

## 보여주는 정보 선택하기

기본적으로 서버 정보에는 사용하는 모듈 목록과 모듈별로 모듈이 이해하는 지시어 설명, 모듈이 구현한 훅(hook), 현재 설정에서 사용한 지시어 정보가 있다.

`server-info` 요청에 질의문자열을 붙여서 설정 정보를 다르게 볼 수 있다. 예를 들어, `http://your.host.example.com/server-info?config`는 모든 설정지시어를 보여 준다.

`?<module-name>`
  명시한 모듈에 대한 정보만
`?config`
  모듈별로 정렬하지 않고, 설정지시어만
`?hooks`
  모듈이 등록한 훅(hook) 목록만
`?list`
  사용하는 모듈 목록만
`?server`
  기본 서버 정보만

## 알려진 한계

`mod_info`는 원래 설정파일을 읽지 않고 이미 읽어들인 설정 정보를 참고하여 정보를 보여준다. 설정을 파싱하는 방법때문에 다음과 같은 몇가지 한계가 있다.

- 파싱한 설정 정보에 기록하지 않고 즉시 실행되는 지시어를 보여주지 못한다. `ServerRoot`, `LoadModule`, `LoadFile`과 같은 지시어가 여기에 해당한다.
- `Include`, `<IfModule>`, `<IfDefine>`과 같이 설정파일 자체를 조정하는 지시어를 보여주지 못한다. 그러나 안에 있는 설정지시어는 보여준다.
- 주석을 보여주지 못한다. (한계라기 보다는 기능이라고 생각할 수 있다.)
- (지속적인 서버설정이 아니기 때문에) `.htaccess` 파일에 있는 설정지시어를 보여주지 못한다.
- 보통 `<Directory>`와 같은 범위제한 지시어는 보여주지만, `mod_info`는 마치는 `</Directory>`의 줄번호를 알 수 없다.
- `mod_perl`과 같이 제삼자가 만든 모듈의 지시어를 보여주지 못할 수 있다.

## AddModuleInfo 지시어

설명: | 모듈에 대한 추가 정보를 server-info 핸들러가 보여주도록 추가한다
문법: | `AddModuleInfo module-name string`
사용장소: | 주서버설정, 가상호스트
상태: | Extension
모듈: | mod_info
지원: | 아파치 1.3 이후

module-name 모듈에 대한 추가 정보로 string의 내용을 HTML로 보여준다. 예를 들어,

`AddModuleInfo mod_deflate.c 'See <a \
href="http://www.apache.org/docs/2.2/mod/mod_deflate.html">\
http://www.apache.org/docs/2.2/mod/mod_deflate.html</a>'`

가능한 언어: en | ja | ko

## Comments

Notice:
This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our mailing lists.