Tomcat --apache httpd.conf簡單介紹

apache httpd.conf詳解
官方文檔:http://httpd.apache.org/docs/2.4/
指令文檔:http://httpd.apache.org/docs/2.4/mod/directives.html
配置文件主要有三大部分
1.全局配置文件
2.主機配置文件
3.虛擬主機
#1.全局配置文件
##1.ServerRoothtml

Define SRVROOT "D:/softDown/apache/Apache24"
ServerRoot "${SRVROOT}"

指定apache運行目錄,後面使用到的全部相對路徑都是在這個目錄下(包括:服務器配置、出錯信息、日誌文件等)。
##2.Listenweb

#Listen 12.34.56.78:80
Listen 80

apache服務器監聽的端口
##3.LoadModule
動態共享對象,apache啓動時加載的模塊。
##4.unixd_moduleapache

<IfModule unixd_module>
User daemon
Group daemon
</IfModule>

用於指定該apache服務器能夠應用於不一樣的用戶/組。
#2.主配置文件
##1.ServerAdmin admin@example.com
管理員的郵箱,若是apache服務器有任何問題,都會向這個郵箱發送消息.這個地址會存在於錯誤日誌中。
##2.ServerName localhost:80
服務器的名稱及端口,默認狀況下不須要修改
##3.控制訪問權限瀏覽器

<Directory />
    AllowOverride none
    Require all denied
</Directory>

設置web服務器針對目錄文檔的訪問權限控制
##4.DocumentRoot "${SRVROOT}/htdocs"
它定義了apache服務器靜態網頁存放路徑,默認狀況下,全部的請求都以這個目錄爲基礎。
該目錄能夠添加子目錄,以及可使用符號鏈接指定文件(即f:\test\ss.jsp,這樣就能夠訪問計算機上任何位置的文件,所以它是不安全的,參數FollowSymLinks能夠設置打開/關閉 支持符號的鏈接),請求時須要在請求路徑上加上該子目錄(符號)做爲路徑。
##5.目錄控制安全

<Directory "${SRVROOT}/htdocs">
    Options Indexes FollowSymLinks
    AllowOverride None    
    Require all granted
</Directory>

如上是設置根目錄以及其子目錄下全部文件的訪問權限控制,因爲apache對一個目錄的訪問控制權限設置的是能夠被下一級目錄繼承的,所以對根目錄的設置將影響它的下一級目錄。
Options中的indexs表示訪問網頁不存在的時候是否容許索引顯示目錄中的文件,FollowSymLinks表示是否容許訪問符號鏈接文件。
AllowOverride設置對每一個目錄訪問控制文件的影響,none表示不須要查看該目錄下文件的訪問控制權限,直接訪問。
Require all granted 表示賦予請求全部的權限。
##6.dir_module服務器

<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

設置apache服務器的目錄索引,這也是爲何咱們安裝好apache服務器後,只須要在地址欄輸入localhost就能夠請求到指定地址${SRVROOT}/htdocs下面的index.html。不少狀況下,請求的url中並無指定文檔的名字,只是給了一個目錄名,那麼apache服務器會自動返回這個目錄下由DirectoryIndex指定的文件列表,供用戶選擇,可否顯示目錄列表取決於Options Indexes的設置。預設多個索引文件名可使用 空格 來分隔。
##7.控制請求app

<Files ".ht*">
    Require all denied
</Files>

原文解釋以下:The following lines prevent .htaccess and .htpasswd files from being viewed by Web clients.
##8.日誌記錄部分
ErrorLog "logs/error.log" 錯誤日誌路徑
LogLevel warn 錯誤日誌級別dom

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      # You need to enable mod_logio.c to use %I and %O
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "logs/access.log" common
    </IfModule>
<IfModule alias_module>

如上部分都是設置錯誤日誌相關內容。
##9.命別名模塊jsp

<IfModule alias_module>
# Redirect permanent /foo http://www.example.com/bar
# Alias /webpath /full/filesystem/path
ScriptAlias /cgi-bin/ "${SRVROOT}/cgi-bin/"
</IfModule>

Redirect:它是用來重寫url的,當瀏覽器訪問服務器上一個已經不存在的資源的時候,服務器返回給瀏覽器新的url,告訴瀏覽器重新的url獲取資源。
這主要用於原來存放於服務器上的文檔,改變了位置以後,而又但願使用老的url能夠訪問到,用以保持與之前的url兼容。
Alias:給路徑命別名,即前者是虛擬路徑,後面纔是真實的路徑。其實就是起一個路徑映射做用。ScriptAlias:它與Alias同樣,也是映射路徑用的,可是ScriptAlias只用於映射CGI程序的路徑,這個路徑下的文件都被定義成cgi程序,經過執行它們來得到結果,而非由服務器直接返回其內容。
##10.媒體類型模塊ide

<IfModule mime_module>
TypesConfig conf/mime.types
#AddType application/x-gzip .tgz
#AddEncoding x-compress .Z
#AddEncoding x-gzip .gz .tgz
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
#AddHandler cgi-script .cgi .pl
#AddHandler type-map var
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule>

TypesConfig:記錄媒體類型文件存放位置,默認是text/plain。
若是服務器上主要包含的是文本文檔或html文檔,"text/plain"是比較好的設置;若是服務器上主要是包含二進制文件,如應用程序或圖片等,則應該設置成application/octet-stream。
AddType:它容許咱們爲某一些文件添加指定類型格式。
AddEncoding:添加一些壓縮格式,告訴瀏覽器這些格式,讓瀏覽器能夠進行解壓縮操做。
AddType:若是AddEncoding被註釋掉了,則必須在這裏定義擴展媒體類型。
AddHandler:用於處理非靜態文件類型。
AddOutputFilter:添加過濾器,容許咱們將處理結果過濾後在返給客戶端。
##11.動態目錄列表配置
Include conf/extra/httpd-autoindex.conf
##12.請求信息配置
Include conf/extra/httpd-info.conf
#3.虛擬主機
##1.mod_proxy_html

<IfModule proxy_html_module>
Include conf/extra/httpd-proxy-html.conf
</IfModule>

配置動態mod_proxy_html。
apache服務器自己具有代理的功能,如上的配置信息是:若是存在proxy_html_module模塊,則導入該配置文件,便可以使用ProxyRequests打開代理支持。
備註:若是使用mod_jk做爲代理的話,須要屏蔽這裏,添加上mod_jk的配置文件。
##2.安全鏈接模塊

<IfModule ssl_module>
#Include conf/extra/httpd-ssl.conf
Include conf/extra/httpd-ahssl.conf
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
<IfModule http2_module>
    ProtocolsHonorOrder On
    Protocols h2 h2c http/1.1
</IfModule>
相關文章
相關標籤/搜索