第十三章httpd詳解-創(chuàng)新互聯(lián)

13.1 httpd簡介

創(chuàng)新互聯(lián)專注于網(wǎng)站設(shè)計制作、網(wǎng)站制作、網(wǎng)頁設(shè)計、網(wǎng)站制作、網(wǎng)站開發(fā)。公司秉持“客戶至上,用心服務(wù)”的宗旨,從客戶的利益和觀點出發(fā),讓客戶在網(wǎng)絡(luò)營銷中找到自己的駐足之地。尊重和關(guān)懷每一位客戶,用嚴(yán)謹(jǐn)?shù)膽B(tài)度對待客戶,用專業(yè)的服務(wù)創(chuàng)造價值,成為客戶值得信賴的朋友,為客戶解除后顧之憂。

 httpd是Apache超文本傳輸協(xié)議(HTTP)服務(wù)器的主程序。被設(shè)計為一個獨立運行的后臺進(jìn)程,它會建立一個處理請求的子進(jìn)程或線程的池。

 通常,httpd不應(yīng)該被直接調(diào)用,而應(yīng)該在類Unix系統(tǒng)中由apachectl調(diào)用,在Windows中作為服務(wù)運行。

13.2 httpd版本

 本文主要介紹httpd的兩大版本,httpd-2.2和httpd-2.4。

 CentOS6系列的版本默認(rèn)提供的是httpd-2.2版本的rpm包,而CentOS7默認(rèn)提供的是httpd-2.4版本的rpm包

13.2.1 httpd的特性

 httpd有很多特性,下面就分別來說說httpd-2.2版本和httpd-2.4版本各自的特性。

 httpd-2.2的特性:

 a) 事先創(chuàng)建進(jìn)程

 b) 按需維持適當(dāng)?shù)倪M(jìn)程

 c) 模塊化設(shè)計,核心比較小,各種功能通過模塊添加(包括PHP),支持運行時配置,支持單獨編譯模塊

 d) 支持多種方式的虛擬主機配置,如基于ip的虛擬主機,基于端口的虛擬主機,基于域名的虛擬主機等

 e) 支持https協(xié)議(通過mod_ssl模塊實現(xiàn))

 f) 支持用戶認(rèn)證

 g) 支持基于IP或域名的ACL訪問控制機制

 h) 支持每目錄的訪問控制(用戶訪問默認(rèn)主頁時不需要提供用戶名和密碼,但是用戶訪問某特定目錄時需要提供用戶名和密碼)

 i) 支持URL重寫

 j) 支持MPM(Multi Path Modules,多處理模塊)。用于定義httpd的工作模型(單進(jìn)程、單進(jìn)程多線程、多進(jìn)程、多進(jìn)程單線程、多進(jìn)程多線程)

  prefork:多進(jìn)程模型,預(yù)先生成進(jìn)程,一個請求用一個進(jìn)程響應(yīng)

   一個主進(jìn)程負(fù)責(zé)生成n個子進(jìn)程,子進(jìn)程也稱為工作進(jìn)程;

   每個子進(jìn)程處理一個用戶請求,即使沒有用戶請求,也會預(yù)先生成多個空閑進(jìn)程,隨時等待請求到達(dá),大不會超過1024個

   worker:基于線程工作,一個請求用一個線程響應(yīng)(啟動多個進(jìn)程,每個進(jìn)程生成多個線程)

   event:基于事件的驅(qū)動,一個進(jìn)程處理多個請求

 httpd-2.4的新特性:

 a) MPM支持運行DSO機制(Dynamic Share Object,模塊的動態(tài)裝/卸載機制),以模塊形式按需加載

 b) 支持event MPM,eventMPM模塊生產(chǎn)環(huán)境可用

 c) 支持異步讀寫

 d) 支持每個模塊及每個目錄分別使用各自的日志級別

 e) 每個請求相關(guān)的專業(yè)配置,使用<If>來配置

 f) 增強版的表達(dá)式分析器

 g) 支持毫秒級的keepalive timeout

 h) 基于FQDN的虛擬主機不再需要NameVirtualHost指令

 i) 支持用戶自定義變量

 j) 支持新的指令(AllowOverrideList)

 k) 降低對內(nèi)存的消耗

13.2.2 httpd-2.4新增的模塊

httpd-2.4在之前的版本基礎(chǔ)上新增了幾大模塊,下面就幾個常用的來介紹一下。

 mod_proxy_fcgi:反向代理時支持apache服務(wù)器后端協(xié)議的模塊

 mod_ratelimit:提供速率限制功能的模塊

 mod_remoteip:基于ip的訪問控制機制被改變,不再支持使用Order,Deny,Allow來做基于IP的訪問控制

13.3 httpd基礎(chǔ)

13.3.1 httpd自帶的工具程序

 htpasswd:basic認(rèn)證基于文件實現(xiàn)時,用到的帳號密碼生成工具

 apachectl:httpd自帶的服務(wù)控制腳本,支持start,stop,restart

 apxs:由httpd-devel包提供的,擴(kuò)展httpd使用第三方模塊的工具

 rotatelogs:日志滾動工具

   access.log -->

   access.log,access.1.log

   access.log,access.1.log,access.2.log

 suexec:訪問某些有特殊權(quán)限配置的資源時,臨時切換至指定用戶運行的工具

 ab:apache benchmark,httpd的壓力測試工具

13.3.2 rpm包安裝的httpd程序環(huán)境

 httpd-2.2版本程序環(huán)境:

   配置文件:

   /etc/httpd/conf/httpd.conf

   /etc/httpd/conf.d/*.conf

   配置文件的組成:grep "Section" /etc/httpd/conf/httpd.conf

### Section 1: Global Environment ### Section 2: 'Main' server configuration ### Section 3: Virtual Hosts

   配置格式:directive value

      directive:指令,不區(qū)分字符大小寫

      value:為路徑時,取決于文件系統(tǒng)

  服務(wù)腳本:

   /etc/rc.d/init.d/httpd

  服務(wù)腳本的配置文件:

   /etc/sysconfig/httpd

   主程序文件:

   /usr/sbin/httpd

   /usr/sbin/httpd.event

   /usr/sbin/httpd.worker

   日志文件目錄:

   /var/log/httpd/

      access.log:訪問日志

      error_log:錯誤日志

   站點文檔目錄:

   /var/www/html/

   模塊文件路徑:

   /usr/lib64/httpd/modules/

 httpd-2.4版本程序環(huán)境:

   主配置文件:/etc/httpd/conf/httpd.conf

   模塊配置文件:/etc/httpd/conf.modules.d/*.conf

   輔助配置文件:/etc/httpd/conf.d/*.conf

   mpm:以DSO機制提供,配置文件為/etc/httpd/conf.modules.d/00-mpm.conf

13.3.3 web相關(guān)的命令

 curl命令:

   curl是基于URL語法在命令行方式下工作的文件傳輸工具,它支持FTP,F(xiàn)TPS,HTTP,HTTPS,GOPHER,TELNET,DICT,F(xiàn)ILE及LDAP等協(xié)議。

   curl支持:

   https認(rèn)證

    http的POST/PUT等方法

    ftp上傳

    kerberos認(rèn)證

    http上傳

    代理服務(wù)器

    cookies

    用戶名/密碼認(rèn)證

    下載文件斷點續(xù)傳

    socks5代理服務(wù)器

    通過http代理服務(wù)器上傳文件到ftp服務(wù)器

  語法:curl [options] [URL ...]

  常用的options:

    -A/--user-agent <string>:設(shè)置用戶代理發(fā)送給服務(wù)器

    -basic:使用Http基本認(rèn)證

    --tcp-nodelay:使用TCP_NODELAY選項

    -e/--referer <URL>:來源網(wǎng)址

    --cacert <file>:CA證書(SSL)

    --compressed:要求返回時壓縮的格式

    -H/--header <line>:自定義請求首部信息傳遞給服務(wù)器

    -I/--head:只顯示響應(yīng)報文首部信息

    --limit-rate <rate>:設(shè)置傳輸速度

    -u/--user <user[:password]>:設(shè)置服務(wù)器的用戶和密碼

    -0/--http1:使用http 1.0版本,默認(rèn)使用1.1版本。這個選項是數(shù)字0而不是字母o

 elinks命令:

  語法:elinks [options] [URL ...]

  常用的options:

    -dump:不進(jìn)入交互式模式,而直接將URL的內(nèi)容輸出至標(biāo)準(zhǔn)輸出

 httpd命令:

  語法:httpd [options]

  常用的options:

    -l:查看靜態(tài)編譯的模塊,列出核心中編譯了哪些模塊。它不會列出使用LoadModule指令動態(tài)加載的模塊

    -M:輸出一個已經(jīng)啟用的模塊列表,包括靜態(tài)編譯在服務(wù)器中的模塊和作為DSO動態(tài)加載的模塊

    -v:顯示httpd的版本,然后退出

    -V:顯示httpd和apr/apr-util的版本和編譯參數(shù),然后退出

    -X:以調(diào)試模式運行httpd。僅啟動一個工作進(jìn)程,并且服務(wù)器不與控制臺脫離

13.4 編譯安裝httpd-2.4

 httpd依賴于apr-1.4+,apr-util-1.4+,[apr-icon]

 apr:apache portable runtime

 CentOS6提供的apr是1.3.9版本,而apr-util也是1.3.9版本,所以想在CentOS6上安裝httpd-2.4版本時需要先安裝apr-1.4+和apr-util-1.4+,而在CentOS7中則不用另行安裝

 httpd-2.4編譯安裝步驟:

 a) 安裝開發(fā)環(huán)境(yum groupinstall)

 b) 下載并安裝apr-1.4+和apr-util-1.4+。此步驟僅需在CentOS6系列上執(zhí)行,CentOS7無需執(zhí)行此步

cd /usr/src/ wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.bz2 wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.bz2 tar xvf apr-1.5.2.tar.bz2 tar xvf apr-util-1.5.4.tar.bz2 cd apr-1.5.2 ./configure --prefix=/usr/local/apr make && make install cd ../apr-util-1.5.4 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install

 c) 編譯安裝httpd

groupadd -r apache useradd -r -g apache apache yum -y install openssl-devel pcre-devel ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork make && make install

13.5 httpd常用配置

 httpd-2.2常用配置:

 修改監(jiān)聽的IP和端口:

Listen [IP:]PORT

  省略IP表示監(jiān)聽所有地址。Listen可重復(fù)出現(xiàn)多次

 持久連接:即長連接

Persistent Connection:連接建立,每個資源獲取完成后不會立即斷開連接,而是繼續(xù)等待其它的請求完成

   如何斷開?

    數(shù)量限制:默認(rèn)獲取100個資源后會自動斷開連接

     時間限制:可配置,對于并發(fā)很大的服務(wù)器來說,此值不能設(shè)定太大

   副作用:對于并發(fā)訪問量較大的服務(wù)器,持久連接功能會使有些請求得不到響應(yīng)

   折衷:使用較短的持久連接時間。httpd-2.4支持毫秒級持久時間

KeepAlive {On | Off}:設(shè)定是否啟用持久連接 MaxKeepAliveRequests 100:設(shè)定大允許獲取的資源數(shù),當(dāng)達(dá)到些設(shè)定值時將自動斷開連接 KeepAliveTimeout 15:設(shè)定時間限制,當(dāng)達(dá)到些時間限制時將自動斷開連接

  測試持久連接:

telnet HOST PORT                # telnet 192.168.1.1 80 GET /URL HTTP/1.1              # GET /index.html HTTP/1.1 Host: HOSTNAME or IP        # Host: 192.168.1.1

 MPM:Multi Path Modules,多處理模塊。用于定義httpd的工作模型(單進(jìn)程、單進(jìn)程多線程、多進(jìn)程、多進(jìn)程單線程、多進(jìn)程多線程)

  httpd-2.2不支持同時編譯多個模塊,所以只能編譯時選定一個

  rpm安裝的包提供了三個二進(jìn)制程序文件,分別用于實現(xiàn)對不同MPM機制的支持。確認(rèn)方法:

ps aux |grep httpd

  默認(rèn)為/usr/sbin/httpd,其使用prefork

   更換使用的httpd程序:編輯/etc/sysconfig/httpd文件,并重啟服務(wù)使之生效

HTTPD={httpd | httpd.worker | httpd.event}

   配置MPM:編輯主配置文件/etc/httpd/conf/httpd.conf

   prefork的配置:

StartServers:服務(wù)啟動時啟動的服務(wù)器進(jìn)程數(shù)(提供服務(wù)的子進(jìn)程數(shù),不包含主進(jìn)程) MinSpareServers:最少空閑進(jìn)程數(shù) MaxSpareServers:大空閑進(jìn)程數(shù) ServerLimit:為MaxClients所準(zhǔn)備的在其服務(wù)生命周期內(nèi)所允許的進(jìn)程數(shù)量大值 MaxClients:大并發(fā)請求數(shù) MaxRequestsPerChild:一個服務(wù)器進(jìn)程最多能夠響應(yīng)多少次的請求

   worker的配置:

StartServers:服務(wù)啟動時啟動的服務(wù)器進(jìn)程數(shù)(提供服務(wù)的子進(jìn)程數(shù),不包含主進(jìn)程) MaxClients:服務(wù)端最多啟動的線程數(shù)量 MinSpareThreads:最少空閑線程數(shù) MaxSpareThreads:最多空閑線程數(shù) ThreadsPerChild:每個進(jìn)程所能夠啟動的線程數(shù) MaxRequestsPerChild:每個線程所能夠響應(yīng)的大請求數(shù)量,0表示無限制

 DSO:Dynamic Share Object,模塊的動態(tài)裝/卸載機制

   配置指令實現(xiàn)模塊加載:

LoadModule <mod_name> <mod_path>

   模塊路徑(mod_path)可使用相對路徑:

      相對于ServerRoot(/etc/httpd)指向的路徑而言

      /etc/httpd/modules  -->  /usr/lib64/httpd/modules

 定義“Main”server的文檔頁面路徑,DocumentRoot

   文檔路徑映射:

   DocumentRoot指向的路徑為URL路徑的起始位置

DocumentRoot "/var/www/html"

      test/index.html  -->  http://HOST:PORT/test/index.html

 站點訪問控制:

   可基于兩種類型的路徑指明對哪些資源進(jìn)行訪問控制:

   針對文件系統(tǒng)路徑:

<Directory ""> </Directory> <File ""> </File> <FileMatch ""> </FileMatch>

   針對URL路徑:

<Location ""> </Location> <LocationMatch ""> </LocationMatch>

   訪問控制機制:

   基于來源地址

   基于帳號

 Directory中“基于來源地址”實現(xiàn)訪問控制:httpd-2.2版本

   a) Options

   所有可用特性:

Indexes  Includes  FollowSymLinks  SymLinksifOwnerMatch  ExecCGI  MultiViews

      Indexes:索引,當(dāng)不指定要訪問的頁面具體路徑而又沒有默認(rèn)主頁(index.html)時,以鏈接形式列出根(默認(rèn)為/var/www/html)下的所有內(nèi)容

      FollowSymLinks:允許跟蹤符號鏈接文件

   b) 基于來源地址的訪問控制機制

Order:檢查次序 Order allow,deny    先允許后拒絕。默認(rèn)所有都拒絕,只有明確允許的才允許訪問 Order deny,allow    先拒絕后允許。默認(rèn)所有都允許,只有明確拒絕的才拒絕訪問 Allow from 來源地址 Deny from 來源地址

   來源地址可以為:

      IP:如192.168.1.1

      NetAddr:

      172.16

      172.16.0.0

      172.16.0.0/16

      172.16.0.0/255.255.0.0

      FQDN:可以是完整的主機名,也可以是一個域名,如*.idfsoft.com

      All

 基于用戶的訪問控制:

  認(rèn)證質(zhì)詢:此處是一個響應(yīng)報文

   WWW-Authenticate:響應(yīng)碼為401,拒絕客戶端請求,并說明要求客戶提供帳號和密碼

   認(rèn)證:此處是一個請求報文

   Authorization:客戶端用戶填入帳號和密碼后再次發(fā)送請求報文,認(rèn)證通過,則服務(wù)器發(fā)送響應(yīng)的資源

   認(rèn)證類型:

      basic:明文

      digest:消息摘要,經(jīng)過MD5加密

   安全域:需要用戶認(rèn)證后才能訪問的路徑稱之為安全域

   應(yīng)該通過名稱對其進(jìn)行標(biāo)識,并用于告知用戶認(rèn)證的原因

   用戶的帳號和密碼存儲于何處:

   虛擬帳號:僅用于訪問某服務(wù)時用到的認(rèn)證標(biāo)識

   存儲機制:

      文本文件

      SQL數(shù)據(jù)庫

      ldap

      nis

   basic認(rèn)證:基于文本文件的存儲機制

   a) 定義安全域

<Directory "">   Options None   AllowOverride None   AuthType Basic   AuthName "String"   AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE"   Require user username1 username2 ...     #只允許帳號文件中指定的用戶登錄訪問 </Directory> 允許帳號文件中的所有用戶登錄訪問:   在<Directory> </Directory>之間添加Require valid-user

   b) 提供帳號和密碼存儲(使用htpasswd命令)

htpasswd [options] passwordfile username

   常用的options:

    -c:自動創(chuàng)建passwordfile,因此,僅應(yīng)該在添加第一個用戶時使用

    -m /path/to/passwordfile:md5加密用戶密碼

    -s:sha1加密用戶密碼

    -D:刪除指定用戶

   c) 實現(xiàn)基于組進(jìn)行認(rèn)證

<Directory "">   Options None   AllowOverride None   AuthType Basic   AuthName "String"   AuthUserFile "/PATH/TO/HTTPD_USER_PASSWD_FILE"   AuthGroupFile "/PATH/TO/HTTPD_GROUP_FILE"   Require group GROUP1 GROUP2 ... </Directory>

   要提供用戶帳號文件和組文件:

      組文件:只能手動定義,每一行定義一組。格式如下:

GROUP_NAME:user1 user2 user3 ...

 在組文件中的user必須在帳號文件中存在。

 定義默認(rèn)主頁面:

DirectoryIndex index.html index.html.var

 日志設(shè)定:

   定義日志格式:LogFormat

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent

   常用的日志格式定義宏:詳情請看 官方文檔

%h:客戶端IP地址 %l:小寫的L,遠(yuǎn)程登錄的用戶名,Remote logname (from identd,if supplied). -表示為空 %u:遠(yuǎn)程用戶。Remote user, (from auth; may be bogus if return status (%s) is 401) %t:服務(wù)器收到請求的時間 %r:請求報文的首行信息(請求的方法,URL,協(xié)議版本) %>s:響應(yīng)狀態(tài)碼 %b:響應(yīng)報文的大小,不包含響應(yīng)報文首部,單位是字節(jié) %{Referer}i:請求報文當(dāng)中"referer"首部的值。當(dāng)前資源的訪問入口,即從哪個頁面中的超鏈接跳轉(zhuǎn)而來 %{User-Agent}i:請求報文當(dāng)中"User-Agent"首部的值。即發(fā)出請求用到的應(yīng)用程序

                    

  錯誤日志:

Errorlog logs/error_log LogLevel <日志級別>    #默認(rèn)是warn級別

   日志級別有以下這些:從低到高,日志級別越低,記錄越詳細(xì)

    debug

    info

    notice

    warn

    error

    crit

    alert

    emerg

  訪問日志:

CustomLog logs/access_log combined

 路徑別名:把一個URL映射至別的路徑上

Alias /URL/ "/PATH/TO/SOMEDIR/" 如:Alias /bbs/ "/bbs/htdocs"

 設(shè)定默認(rèn)字符集:

AddDefaultCharset UTF-8

 虛擬主機:

  有三種實現(xiàn)方案:

   基于ip:為每個虛擬主機準(zhǔn)備至少一個ip地址

   基于port:為每個虛擬主機準(zhǔn)備至少一個專用port,實踐中很少使用

   基于域名:為每個虛擬主機準(zhǔn)備至少一個專用域名

    需要將NameVirtualHost的注釋去掉

   可混合使用上述三種方式中任意方式

  注意:一般虛擬主機莫與中心主機混用,所以,要使用虛擬主機,必須先禁用中心主機

   禁用中心主機:注釋DocumentRoot

  每個虛擬主機都有專用配置:還可以在虛擬主機中通過Directory進(jìn)行訪問控制

<VirtualHost *:80>    #此處的*可以換成指定的IP地址   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>

 內(nèi)置的status頁面:可以查看服務(wù)器的狀態(tài)

<Location /server-status>   SetHandler server-status   Order deny,allow   Deny from all   Allow from .example.com </Location>

 使用mod_deflate模塊壓縮頁面優(yōu)化傳輸速度:適用于httpd-2.2版本

  適用場景:

   a) 節(jié)約帶寬,額外消耗CPU,同時,可能有些較老瀏覽器不支持

   b) 壓縮適于壓縮的資源,例如文本文件

  方法:

   a) 編輯主配置文件/etc/httpd/conf/httpd.conf,查找mod_deflate.so,將其前面的注釋去掉,啟用mod_deflate模塊

   b) 將以下內(nèi)容添加至主配置文件:

SetOutputFilter DEFLATE        #調(diào)用DEFLATE輸出過濾器 # mod_deflate configuration # Restrict compression to these MIME types    對下面指定的類型進(jìn)行壓縮 AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/css # Level of compression (Highest 9 - Lowest 1)    設(shè)定壓縮比率 DeflateCompressionLevel 9 # Netscape 4.x has some problems.    根據(jù)首部的User-Agent基于正則模式匹配瀏覽器類型和版本 BrowserMatch ^Mozilla/4 gzip-only-text/html        #瀏覽器是Mozilla/4時,用gzip壓縮,但只壓縮text/html格式的文檔 # Netscape 4.06-4.08 have some more problems    根據(jù)首部的User-Agent基于正則模式匹配瀏覽器類型和版本 BrowserMatch ^Mozilla/4\.0[678] no-gzip                #瀏覽器是Mozilla的4.0、4.6、4.7或4.8版本時不壓縮 # MSIE masquerades as Netscape, but it is fine    根據(jù)首部的User-Agent基于正則模式匹配瀏覽器類型和版本 BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html    #瀏覽器是IE6.0之前的版本時,不壓縮,若要壓縮則只用gzip壓縮text/html格式的文檔

 配置httpd支持https:

  a) 為服務(wù)器申請數(shù)字證書

   測試:通過私建CA發(fā)證書

    創(chuàng)建私有CA

    在服務(wù)器創(chuàng)建證書簽署請求

    CA簽證

  b) 配置httpd支持使用ssl,及使用的證書

yum -y install mod_ssl

   配置文件:/etc/httpd/conf.d/ssl.conf

DocumentRoot = ?? ServerName = ?? SSLCertificateFile = ?? SSLCertificateKeyFile = ??

  c) 測試基于https訪問相應(yīng)的主機

openssl s_client [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]

 httpd-2.4常用配置:

  切換使用MPM(編輯/etc/httpd/conf.modules.d/00-mpm.conf文件):

LoadModule mpm_NAME_module modules/mod_mpm_NAME.so #   NAME:有三種,分別為prefork,event,worker

  修改“Main" Server的DocumentRoot

  基于IP的訪問控制法則:

   允許所有主機訪問: Require all granted

   拒絕所有主機訪問: Require all deny

   控制特定IP訪問:

Require ip IPADDR:授權(quán)指定來源地址的主機訪問 Require not ip IPADDR:拒絕指定來源地址的主機訪問 IPADDR的類型:   IP:192.168.1.1   Network/mask:192.168.1.0/255.255.255.0   Network/Length:192.168.1.0/24   Net:192.168

   控制特定主機(HOSTNAME)訪問:

Require host HOSTNAME Require not host HOSTNAME HOSTNAME的類型:   FQDN:特定主機的全名   DOMAIN:指定域內(nèi)的所有主機

   注意:httpd-2.4版本默認(rèn)是拒絕所有主機訪問的,所以安裝以后必須做顯示授權(quán)訪問

   示例:

<RequireAll>   Require not ip 192.168.1.20   Require all granted </RequireAll>

  虛擬主機:

   基于IP、PORT和域名都支持

   基于域名的不再需要NameVirtualHost指令

  ssl:

   啟用模塊:編輯/etc/httpd/conf.modules.d/00-base.conf文件,添加下面這行,如果已經(jīng)有了但是注釋了,則取消注釋即可

LoadModule ssl_module modules/mod_ssl.so

  服務(wù)腳本:

   CentOS6編譯安裝的服務(wù)腳本:apachectl {start | stop | restart}

   CentOS7的服務(wù)腳本:httpd.service,使用systemctl控制

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

標(biāo)題名稱:第十三章httpd詳解-創(chuàng)新互聯(lián)
文章分享:http://www.muchs.cn/article18/ihegp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、響應(yīng)式網(wǎng)站、網(wǎng)站建設(shè)、虛擬主機、網(wǎng)站設(shè)計、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化