Apache Default Config
Apache 기본 설정 정리
참고 사이트 : https://httpd.apache.org/docs/2.4/ko/mod/core.html
1. ServerTokens
Response Header에 서버 정보 및 OS 정보를 포함해서 응답을 보낼지 결정하는 옵션
메 뉴 | 내 용 |
사용 예시 | ServerTokens Major |
기본 값 | ServerTokens Full |
설정 범위 | Server Config(httpd.conf) |
■ 설정 값
설정 값 | 내 용 |
Full | Server: Apache/2.4.2 (Unix) PHP/4.2.2 MyMod/1.2 |
Prod | Server: Apache |
Major | Server: Apache/2 |
Minor | Server: Apache/2.4 |
Min | Server: Apache/2.4.2 |
OS | Server: Apache/2.4.2 (Unix) |
■ 설정 예시
#httpd.conf
ServerTokens prod
2. Listen
Apache 서버가 서비스 요청을 받는 특정 IP 및 Port를 설정하는 옵션
메 뉴 | 내 용 |
사용 예시 | Listen IP Address:Port Protocol |
기본 값 | 필수 설정 옵션 |
설정 범위 | Server Config(httpd.conf) |
■ 설정 예시
#httpd.conf
Listen 0.0.0.0:443 https
3. ServerAdmin
관리자 이메일 주소를 설정한다. ServerSignature 값이 Email로 설정되었을 경우, 이메일 주소는 404, 500 에러가 발생했을 때 에러 화면에 해당 이메일 주소가 표시된다.
메 뉴 | 내 용 |
사용 예시 | ServerAdmin email 주소 |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
#httpd.conf
ServerAdmin sunghwan_jo@tmaxsoft.co.kr
ServerSignature EMail
4. ServerName
서버의 도메인을 설정
메 뉴 | 내 용 |
사용 예시 | ServerName www.test.co.kr |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
#httpd.conf
ServerName www.test.co.kr
5. KeepAlive
http 접속 연결에 대한 재 요청을 허용할 것인지 설정하는 옵션
메 뉴 | 내 용 |
사용 예시 | KeepAlive On | Off |
기본 값 | On |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
#httpd.conf
KeepAlive on
6. KeepAliveTimeout
클라이언트 최초 요청 후 재요청을 받기 전까지 대기하는 시간을 설정하는 옵션
메 뉴 | 내 용 |
사용 예시 | KeepAliveTimeout num[s] |
기본 값 | 5초 |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
#httpd.conf
KeepAliveTimeout 60
7. MaxKeepAliveRequests
KeepAlive Connection에서 접속을 허용할 수 있는 최대 횟수를 설정하는 옵션
메 뉴 | 내 용 |
사용 예시 | MaxKeepAliveRequests number |
기본 값 | 100 |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
#httpd.conf
MaxKeepAliveRequests 100
8. <Directory 디렉터리명> </Directory>
디렉터리 단위 별로 설정하는 옵션이다. Location 옵션과 비슷하나 Location은 URL 기반, Directory는 로컬 파일 경로 기반이다.
메 뉴 | 내 용 |
사용 예시 | <Directory 디렉토리명> </Directory> |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ Options
설정한 디렉터리 하위의 모든 디렉터리와 파일에 대한 접근 권한을 설정한다.
값 | 내 용 |
None | 모든 접근을 허용하지 않는다. |
All | 모든 옵션 설정을 허용한다. |
Indexes | 디렉터리 접근시 DirectoryIndex에 설정한 파일이 없을 때 디렉토리 내 파일 목록을 보여 준다. |
Includes | mod_include에서 제공하는 것을 서버 측에서 포함한다. |
IncludesNoExec | mod_include에서 제공하는 것을 서버 측에서 포함 하지만, exec cmd 와 exec cgi는 미포함 한다. |
FollowSymLinks | 심볼릭 링크 사용 가능하며, 파일 목록 확인 된다. |
ExecCGI | CGI 스크립트를 실행할 수 있다. |
MultiViews | 클라이언트가 요청한 media type과 content-encoding 가지고 적절한 요청을 한다. |
■ AllowOverride
디렉터리에. htaccess 파일이 있을 경우 기존 설정을 덮어 쓸지 여부를 설정한다. 기본 값은 None이다.
값 | 내 용 |
None | 모든 접근을 허용하지 않는다. |
All | 모든 옵션 설정을 허용한다. |
Options | .htaccess에 설정된 Options 지시자 사용을 허용한다 |
FileInfo | .htaccess에 설정된 AddEncoding, AddType, ErrorDocument와 같은 문서유형 옵션 사용을 허용한다 |
AuthConfig | .htaccess에 설정된 클라이언트 인증 옵션 사용을 허용한다. |
Limit | .htaccess에 설정된 Order, Allow, Deny와 같은 접근제어 옵션 사용을 허용한다. |
■ Order allow, deny
순서대로 allow 부분을 먼저 확인 후, Deny를 확인한다.
■ Allow
Allow from all : 모든 클라이언트 허용, Allow from ip1 ip2 ip3 : ip1, 2, 3에 대해서만 허용
■ Deny
Deny from all : 모든 클라이언트 차단, Deny from ip1 ip2 ip3 : ip1,. 2, 3에 대해서만 차단
■ 설정 예시
#httpd.conf
<Directory "/sw/web/apache/htdocs">
Options Indexes Includes FollowSymLinks
</Directory>
9. DocumentRoot
웹 프로젝트가 있는 루트 디렉터리를 지정한다.
메 뉴 | 내 용 |
사용 예시 | DocumentRoot directory-path |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
#httpd.conf
DocumentRoot "/sw/web/apache/htdocs"
10. Location
서비스 URL 기준으로 설정한다.
메 뉴 | 내 용 |
사용 예시 | <Location url-path> </Location> |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
www.test.co.kr/status 들어오는 요청에 대해서 접근 제어 설정이며, 로컬 호스트 호출만 허용한다는 의미이다
#httpd.conf
<Location /status>
SetHandler status
Order allow, Deny
Allow from 127.0.0.1
</Location>
11. Files
파일명에 따라 서비스 처리를 할 때 사용한다.
메 뉴 | 내 용 |
사용 예시 | <Files filename> </Files> |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 예시 1) 특정 파일 외부에서 접속 금지 설정
#httpd.conf
<Files “admin.html”>
Order Deny, allow
Deny from all
Allow from 127.0.0.1
</Files>
■ 예시 2) cat.html, bat.php 파일 외부에서 접속 금지 설정
#httpd.conf
<Files “?at.*”>
Order Deny, allow
Deny from all
Allow from 127.0.0.1
</Files>
■ 예시 3) 정규 표현식을 사용하여 파일 인코딩 설정
* <FiolesMatch> 옵션을 사용하여 정규식 바로 사용 가능
#httpd.conf
<Files ~”\.(htm|html|css|js|php)$”>
AddDefaultCharset UTF-8
DefaultLanguage ko_KR
</Files>
12. Alias
파일시스템에서 DocumentRoot 밖에 있는 문서도 서비스할 수 있다.
<Directory> 옵션에서 Directory 접근이 설정되어 있어야 한다.
메 뉴 | 내 용 |
사용 예시 | Alias URL-PATH, file-path | directory-path |
기본 값 | - |
설정 범위 | Server Config(httpd.conf), Virtaul Host(vhost.conf) |
■ 설정 예시
www.test.co.kr/app/app.html 서비스 호출 시 실제로 /sw/web/apache.app 디렉터리에 있는 app.html을 호출한다.
#httpd.conf
alias /app /sw/web/apache/app
<Directory "/sw/web/apache/app">
Options Indexes Includes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
첨부파일 PPT
* 기능 TEST 내용까지 첨부
'WEB > Apache' 카테고리의 다른 글
[Apache] Rewrite 설정 (0) | 2024.09.23 |
---|---|
[Apache] 에러 모음집 (0) | 2024.05.08 |
[Apache] WAS 연동 (0) | 2024.04.22 |
[Apache] 기동 및 다운 (0) | 2023.07.25 |
[Apache] 설치 (0) | 2023.07.25 |