httpd配置

HTTP:Hypertext Transfer Protocol;html

HTML:Hypertext Markup Language;nginx

URL:Uniform Resource Locator,在Internet的WWW服務程序上用於指定信息位置的表示方法;web

  Scheme://Server:Port/path/to/resource;apache

  http://www.mageedu.com/images/logo.jpg;後端

一次完整的http請求過程:centos

  創建或處理鏈接 --> 接受請求 --> 處理請求 --> 訪問資源 --> 構建響應報文 --> 發送響應報文 --> 記錄日誌;服務器

http服務器程序:tcp

  httpd(apache);nginx;lighttpd;ide

http監聽端口:80/tcp,https監聽端口:443/tcp;ui

centos6支持安裝httpd-2.2,centos7支持安裝httpd-2.4;

特別配置:

  一、持久鏈接

    鏈接創建,每一個資源獲取完成後不會斷開鏈接,而是等待其餘請求,訪問量較大的服務器,持久鏈接功能會使有些請求得不到響應;

    折中方法,使用較短的毫秒級持久時間:

      KeepAlive On|Off

      MaxKeepAliveRequests #

      KeepAliveTimeout #

  二、站點訪問控制

    可基於兩種類型的路徑指明對哪些資源進行訪問控制:

      文件系統路徑:

        <Directory " ">

        </Directory>

      URL路徑:

        <Location " ">

        </Location>

  三、日誌設定

    錯誤日誌:

      ErrorLog logs/error_log

      LogLevel warn(記錄warn以上級別的日誌)

    訪問日誌:

      CustomLog logs/access_log combined

      LogFormat ...

  四、基於用戶訪問控制

    基於用戶認證:

      <Directory "/var/www/html/SOME"> //要登陸進入的目錄

        Options None

        AllowOverride None

        Auth Type Basic

        AuthName "STRING"  //認證提示符

        AuthUserFile "/PATH/TO/HTTPD_USER"  //帳號密碼存放的目錄

        Require user username1 username2...

        Require voild-user  //容許文件中全部用戶

      </Directory>

      設置帳號密碼存儲:htpasswd命令

        htpasswd -bm /etc/httpd/conf.d/.htuser username userpasswd

    基於組認證:

      <Directory "/var/www/html/admin"> 

        Options None

        AllowOverride None

        AuthType Basic

        AuthName "administrator private"

        AuthUserFile "/etc/httpd/conf.d/.htpasswd"

        AuthGroupFile "/etc/httpd/conf.d/.htgroup"

        Require group webadmin

      </Directory>

      組文件中:每行定義一個組

        webadmin:user1 user2 ...

  五、虛擬主機

    基於IP:

      爲每一個虛擬主機準備至少一個ip地址;

    基於port:

      爲每一個虛擬主機準備至少一個專用port,實踐中不多使用;

    基於hostname:

      注意:通常虛擬主機莫與中心主機混用,因此要是用虛擬主機,先禁用中心主機,註釋DocumentRoot;

    每一個虛擬主機都專用配置:

    <VirtualHost *:80>

      ServerAdmin webmaster@dummy-host.example.com

      DocumentRoot /www/docs/dummy-host.example.com

      ServerName dummy-host.example.com

      ErrorLog logs/dummy-host.example.com-error_log

      CustomLog logs/dummy-host.example.com-access_log common

    </VirtualHost>

  status:狀態碼,標記請求過程當中發生的狀況;

    100-101:信息提示;

    200-206:成功;

    300-305:重定向;

    400-415:客戶端錯誤;

    500-505:服務器端錯誤;

      200:成功;OK

      301:請求的URL指向的資源已經被刪除,但響應報文中經過首部Location指明瞭資源如今所處的新位置,Moved Permanently;

      302:與301類似,但在響應報文中指明臨時新位置;Found

      304:客戶端發出條件式請求,但服務器上的資源不曾發生改變;Not Modified

      401:須要輸入帳號密碼認證;Unauthorized

      403:請求被禁止;Forbidden

      404:服務器沒法找到客戶端請求的資源;Not Found

      500:服務器內部錯誤;Internal Server Error

      502:代理服務器從後端服務器收到一條僞響應;Bad Getway

相關文章
相關標籤/搜索