Apahce 구성 지침은 핵심 지침과 타사에서 제공하는 지침의 두 부분으로 나눌 수 있습니다. Apache에서는 각 명령어가 모듈에 해당하며, 모든 모듈 중에서 가장 중요한 모듈은 core_module, so_module, http_module, mpm 모듈입니다. so_moudle을 제외한 다른 모듈은 끄거나 비활성화할 수 없습니다.
One: httpd.conf
(1) 메인 서버 부분
1, ServerName: 도메인 이름이나 IP 주소가 될 수 있는 Apache 기본 호스트 이름을 정의합니다
2, ServerRoot: 서버가 있는 디렉터리를 정의하는 데 사용됩니다. this 경로는 일반적으로 구성 중에 --prefix로 지정됩니다
3. DocumentRoot: 아파치가 페이지 서비스를 제공하는 루트 디렉터리를 지정하는 데 사용됩니다. 이 경로는 공백이 있는 경우 상대 경로가 아닌 절대 경로여야 합니다.
4 , ServerAdmin: 서버 오류 발생 후 관리자에게 이메일을 보낼 주소
5 , ServerAlias 및 Alias: 는 모두 디렉터리를 매핑하는 데 사용되지만 ServerAlias는 매핑된 주소를 식별합니다. 디렉토리는 CGI 스크립트 디렉토리로, 이 디렉토리의 모든 파일은 CGI 스크립트로 취급됩니다. 그러나 Alias는 일반 디렉터리에 매핑됩니다.
6, User 및 Group: Apache 하위 프로세스를 실행하는 데 사용되는 사용자 및 사용자 그룹을 정의하는 데 사용됩니다.
7, Listen: Apache 청취를 위한 포트 번호를 정의하는 데 사용됩니다.
8 , LoadModule 명령어: 모듈 또는 대상 파일을 로드하는 데 사용됩니다. LoadModule cgi_module 모듈/mod_cgi.so_module
9. ErrorDocument: 사용자 정의 오류 페이지 정보 ErrorDocument 500 "알 수 없는 오류" ErrorDocument 404 "/var/server/www/cgi-bin /missing_404.pl " ErrorDocument 402 http://www.nicky.com/error_402.html
10. 옵션: 해당 기능을 사용할 디렉터리를 결정합니다. 이러한 기능은 다음과 같습니다:
없음: 옵션 명령이 작동하지 않습니다
ExecCGI: 현재 디렉터리에서 CGI 스크립트가 실행되도록 허용
포함: SSI 기능 사용 허용
IncludesNOEXEC: SSI 기능 사용은 허용하지만 exec cgi 및 exec cmd 기능은 비활성화됩니다
색인: 인덱스 기능을 활성화합니다. 예를 들어 URLz 디렉토리에 대한 요청에 DirectoryIndex 지시어에 의해 지정된 인덱스 파일이 포함되어 있지 않으면 서버는 요청된 디렉토리 내용 목록을 자동으로 반환합니다.
FollowSymLinks: 다음에서 기호 링크 사용을 허용합니다. 현재 환경이지만 위치 컨테이너에서는 무시됩니다
All: MultiViews를 제외한 모든 기능을 사용합니다. 또한 옵션의 기본 매개변수이기도 합니다
MultiViews: mod_negotiations 모듈
11에서 제공하는 다중 보기 기능을 활성화하는 데 사용됩니다. ServerTokens: OS/Major/Full은 오류 바닥글 정보의 세부 사항에 영향을 미치므로 일반적으로 사용하지 않는 것이 좋습니다.
(2) 컨테이너 부분
1,
<IfModule mpm_netware_module><code><IfModule mpm_netware_module><br> DirctoryIndex index.html <br></IfModule>
如果载入则执行<IfModule !mpm_netware_module><br> DirctoryIndex index.html <br></IfModule>
如果不载入则执行
2
依据
<IfDefine Proxy>
LoadModule proxy_module modules/libproxy.so
</IfDefine>
3
Directory: 让它封装的指令在它的指定的目录或者他的子目录起作用,这个目录必须是一个完整的路径,当然你也可以使用通配符* ?匹配目录,也考虑利用使用[]来确定字符范围,不过不论是哪一种都不能匹配/
<Directory /var/apache/html>
Order Deny,Allow
Deny from all
</Directory>
上述例子禁止了对/var/apache/html目录的访问权限。任何请求到/var/apache/html都会被拒绝
如果希望目录使用正则表达式,那么需要在前面加一个~
<Directory ~ "^/var/apache[0-9]{2}/html">
Order Deny,Allow
Allow from all
</Directory>
DirectoryMatch: 和Directory作用类似,只不过他可以直接接受正则匹配 而不需要加一个~符号
<DirectoryMatch "^/var/apache[0-9]{2}/html">
Order Deny,Allow
Allow from all
</DirectoryMatch>
DircoryIndex index.html
<IfModule! mpm_netware_module>🎜 DirectoryIndex index.html 🎜</IfModule>
🎜로드되지 않은 경우 실행🎜🎜2 <IfDefine Proxy>
🎜🎜LoadModule proxy_module module/libproxy.so
🎜🎜</IfDefine>
🎜🎜3 <Directory /var/apache/html>
🎜🎜와 일치할 수 없습니다. 주문 거부,허용
🎜🎜모두 거부
🎜🎜</Directory>
🎜🎜위의 예에서는 /var/apache/html 디렉토리에 대한 액세스를 비활성화합니다. . /var/apache/html에 대한 모든 요청은 거부됩니다🎜🎜디렉토리에서 정규식을 사용하려면 ~🎜🎜<Directory ~ "^/var/apache[0-9]를 추가해야 합니다. { 2}/html">
🎜🎜 주문 거부, 허용
🎜🎜모두 허용
🎜🎜</Directory>
🎜🎜DirectoryMatch: ~ 기호🎜🎜<DirectoryMatch "^/var/apache[0-9]{2}/html">를 추가하지 않고 일반 일치를 직접 허용할 수 있다는 점을 제외하면 디렉토리와 유사합니다.🎜🎜<code> 주문 거부, 허용
🎜🎜모두 허용
🎜🎜</DirectoryMatch>
🎜4
Files: 파일에서만 작동하며 정규식 앞에 와일드카드와 [] 및 ~를 사용하여 정규식을 사용할 수도 있습니다<Files "^.css " ><code><Files "^.css"><br> Order Deny,Allow<br>Allow from All<br></Files>
FilesMatch: Files 而不需要加一个~符号<FilesMatch ".(gif|jpe?g|png)$"><br>Order Deny,Allow<br>Allow from All<br></FilesMatch>
5
Order Allow,Deny
Deny from All
</Location>
如果以cgi开头URL则会被拒绝
另外还可以将URL 请求映射到Apache模块处理器上,例如使用mod_status模块:<Location /server-status><br>SetHandler server-status<br></Location>
如果使用上面的配置。那么访问/server-status,apache会将连接交给mod_status模块处理,并返回一个Apache服务器运行状态页面
容器的处理顺序问题:
Apache 会优先处理Directory 容器(但是不会处理带有正则表达式的Directory和.htaccess,)接着处理Files 和 FilesMatch 容器,再接着就是处理Location 和LocationMatch容器
<Location /var/apache/html>
Order deny,allow
Allow from All
</Location>
<Direcotry /var/apache/html>
Order allow,deny
Allow from All
Deny from www.jons.com
</Direcotry>
주문 거부, 허용
FilesMatch: ~ 기호를 추가하지 않은 파일<FilesMatch ".(gif|jpe?g|png ) $">
Order Deny,Allow
🎜SetHandler server-status🎜</Location>
🎜🎜위 구성을 사용하는 경우. 그런 다음 /server-status에 액세스하면 Apache는 처리를 위해 mod_status 모듈에 연결을 넘겨주고 Apache 서버 실행 상태 페이지를 반환합니다🎜🎜컨테이너 처리 순서 문제: 🎜Apache는 디렉터리 컨테이너의 우선 순위를 지정합니다(그러나 정규식으로 Directory 및 .htaccess를 처리하지 않음) Files 및 FilesMatch 컨테이너를 처리한 다음 Location 및 LocationMatch 컨테이너를 처리합니다🎜🎜<Location /var/apache/html>
🎜🎜 주문 거부, 허용
🎜🎜 모두 허용
🎜🎜</Location>
🎜🎜<Direcotry /var/apache/ html>🎜🎜<code> 주문 허용, 거부
🎜🎜모두 허용
🎜🎜www.jons.com에서 거부
🎜🎜< ;/Direcotry>🎜🎜위의 예에서 Apache는 위 내용은 Apache 서비스 구성 자세히 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!