Apache HTTP Server Version 2.4

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

# 아파치 모듈 mod_info

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

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

### 요약

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

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

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

### 주제

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

### 지시어들

### Bugfix checklist

- httpd changelog
- Known issues
- Report a bug

## 보안 문제

한번 서버가 `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.4/mod/mod_deflate.html">\
http://www.apache.org/docs/docs/2.4/mod/mod_deflate.html</a>'`