httpd協議配置進階

目錄

  • 虛擬主機配置

  • status狀態頁面

  • curl命令

  • mod_deflate模塊

  • https配置

  • httpd自帶應用程序

虛擬主機配置

有三種實現方案:
   基于IP
       為每個虛擬主機準備至少一個IP地址
   基于端口:
       為每個虛擬主機使用至少一個獨立的port
   局域FQDN:
       為每個虛擬主機使用至少一個FQDN

注意:一般虛擬主機不要與中心主機混用; 因此,要使用虛擬主機,得先禁用’main’主機 
禁用方法:注釋中心主機的DocumentRoot指令即可

虛擬主機配置方法
<VirtualHost IP:PORT>    # 指明IP和端口
   ServerName FQDN     # 指明主機名
   DocumentRoot ""     # 網頁文檔路徑
</VirtualHost>

其它可用命令:
   ServerAlias:虛擬主機的別名;可多次使用;
   ErrorLog:錯誤日志
   CustomLog:訪問日志
   ...
基于IP的虛擬主機示例

1.創建虛擬主機配置文件

]FXYA~)N(ZZ]1IF%{`QDG8U.png

2.為每個虛擬主機提供網頁文檔

{_5T7[W2)[}GI(_H`NQ_085.png

3.測試

@O2A@DMR$)UI$JMQ5[39I]P.png

CHNTLQRV@RIXQI1HB1BU[{C.png

F_D2)9FJ1CR4W7`I_E0WAIC.png

基于端口的虛擬主機

1.創建虛擬主機配置文件

@KKRI)T8PXHBP1@ROUZPEEL.png

2.確認三個端口都已經監聽

N(4{H0)2OCSW3F}OWVFAJVY.png

3.測試

O3$0{{KET8%Q2~1I~(43NBR.png

P27~XCHW3R2M0EHKO6@15ML.png

XJVG}NGI@`~ENH5W1O(~9$9.png

基于主機名的虛擬主機

1.創建虛擬主機配置文件

(AH5Z@DK2@5({_%SIUU04V1.png

2.在客戶端hosts文件中添加主機名解析

EF}MWZ1[OR8WV{Z8B0@)T1K.png

3.測試

_H]A$(F3M2$07UY8Q7[23{K.png

B@P4ABJ$@55N])ESC]H]H$B.png

H{)%V@XYNJXH3[V{MYG_QO0.png

配置status狀態頁

1.確保status_module模塊已加載

]Y$86ZFN}9()M7X4V~M}AAT.png

2.在配置文件中添加此項

)V8F25AO8O]Y__IUH`1~62X.png

3.測試

9Q@EZUHJDM(X4S{@S00~`~A.png

curl命令

curl是基于URL語法在命令行方式下工作的文件傳輸工具,它支持FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等協議。curl支持HTTPS認證,并且支持HTTP的POST、PUT等方法, FTP上傳, kerberos認證,HTTP上傳,代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳,上載文件斷點續傳, http代理服務器管道( proxy tunneling), 甚至它還支持IPv6, socks5代理服務器,,通過http代理服務器上傳文件到FTP服務器等等,功能十分強大。           
curl  [options]  [URL...]

curl的常用選項:
   -A/--user-agent <string> 設置用戶代理發送給服務器
   --basic 使用HTTP基本認證
   -e/--referer <URL> 來源網址
   --cacert <file> CA證書 (SSL)
   --compressed 要求返回是壓縮的格式
   -H/--header <line>自定義首部信息傳遞給服務器
   -I/--head 只顯示響應報文首部信息
   --limit-rate <rate> 設置傳輸速度
   -u/--user <user[:password]>設置服務器的用戶和密碼
   -0/--http1.0 使用HTTP 1.0
   -X, --request <command>:自定義請求方法

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

另一個工具:elinks
   elinks  [OPTION]... [URL]...
       -dump: 不進入交互式模式,而直接將URL的內容輸出至標準輸出;

mod_deflate模塊

使用mod_deflate模塊壓縮頁面優化傳輸速度

適用場景:
(1) 節約帶寬,額外消耗CPU;同時,可能有些較老瀏覽器不支持;
(2) 壓縮適于壓縮的資源,例如文件文件;

   SetOutputFilter DEFLATE

   # mod_deflate configuration

   # Restrict compression to these MIME types
   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)
   DeflateCompressionLevel 9

   # Netscape 4.x has some problems.
   BrowserMatch ^Mozilla/4  gzip-only-text/html

   # Netscape 4.06-4.08 have some more problems
   BrowserMatch  ^Mozilla/4\.0[678]  no-gzip

   # MSIE masquerades as Netscape, but it is fine
   BrowserMatch \bMSI[E]  !no-gzip !gzip-only-text/html

https協議

HTTPS(全稱:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即HTTP下加入SSL層,HTTPS的安全基礎是SSL,因此加密的詳細內容就需要SSL。

HTTPS和HTTP的區別

超文本傳輸協議HTTP協議被用于在Web瀏覽器和網站服務器之間傳遞信息。HTTP協議以明文方式發送內容,不提供任何方式的數據加密,如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文,就可以直接讀懂其中的信息,因此HTTP協議不適合傳輸一些敏感信息,比如信用卡號、密碼等。 
為了解決HTTP協議的這一缺陷,需要使用另一種協議:安全套接字層超文本傳輸協議HTTPS。為了數據傳輸的安全,HTTPS在HTTP的基礎上加入了SSL協議,SSL依靠證書來驗證服務器的身份,并為瀏覽器和服務器之間的通信加密。

SSL會話的簡化過程

(1) 客戶端發送可供選擇的加密方式,并向服務器請求證書;
(2) 服務器端發送證書以及選定的加密方式給客戶端;
(3) 客戶端取得證書并進行證書驗正:
   如果信任給其發證書的CA:
       (a) 驗正證書來源的合法性;用CA的公鑰解密證書上數字簽名;
       (b) 驗正證書的內容的合法性:完整性驗正
       (c) 檢查證書的有效期限;
       (d) 檢查證書是否被吊銷;
       (e) 證書中擁有者的名字,與訪問的目標主機要一致;
(4) 客戶端生成臨時會話密鑰(對稱密鑰),并使用服務器端的公鑰加密此數據發送給服務器,完成密鑰交換;
(5) 服務用此密鑰加密用戶請求的資源,響應給客戶端;

注意:SSL會話是基于IP地址創建;所以單IP的主機上,僅可以使用一個https虛擬主機;

配置httpd支持https

(1) 為服務器申請數字證書;
   測試:通過私建CA發證書
       (a) 創建私有CA
       (b) 在服務器創建證書簽署請求
       (c) CA簽證

(2) 配置httpd支持使用ssl,及使用的證書;
   # yum -y install mod_ssl

   配置文件:/etc/httpd/conf.d/ssl.conf
       DocumentRoot
       ServerName
       SSLCertificateFile
       SSLCertificateKeyFile

https配置實現

1.安裝mod_ssl包,配置http支持https

[root@centos7 ~]# yum -y install mod_ssl
[root@centos7 ~]# httpd -M | grep ssl
ssl_module (shared)
[root@centos7 ~]#

2.建立私有CA

(1)生成私鑰

88HUE$[@3)OCK6IO]8LX5GC.png

(2)生成自簽證書

_)`(84J1R2BP_[ZNPV}G[EJ.png

(3)為CA提供所需的目錄及文件

$$C63W5$}_VDAA$$[_~[~7V.png

3.在服務器端創建簽署請求,CA簽證

(1)生成私鑰

[root@centos7 ~]# mkdir /etc/httpd/ssl
[root@centos7 ~]# cd /etc/httpd/ssl
[root@centos7 ssl]# (umask 077; openssl genrsa -out /etc/httpd/ssl/httpd.key 2048)

(2)生成簽署請求

{B3BZ~HS@__V6RC[4LXZM[U.png

(3)CA簽證

[root@centos7 ssl]# openssl ca -in httpd.csr -out /etc/httpd/ssl/httpd.crt -days 365

4.配置httpd支持ssl

{`2`NL]4CBY244BYGP6@YKC.png

7F)W)00NEM@~V]BVM%X~$SJ.png

5.客戶端驗證

7O4N3_)WJ}HND~CJ[XO8D8O.png

E{@$WO1VU2]FPL17$XG~S_4.png

8V3H){(R1FJH$TDB66%F(7A.png

http自帶應用程序

htpasswd:basic認證基于文件實現,用于生成賬號和密碼的程序;
   -c:自動創建此處指定的文件,因此,僅應該在此文件不存在時使用
       -m:md5格式加密
       -s:sha格式加密
       -D:刪除指定用戶
apachectl:httpd自帶的服務控制腳本,支持start和stop等子命令;
apxs:- APache eXtenSion tool
   為httpd增添模塊的;

rotatelogs:日志切割
   access_log,
   access_log, access_log.1, ...

ab - web service的壓力測試工具    
       ab [OPTIONS]  [http[s]://]hostname[:port]/path
           請求數:[ -n requests ]
           并發數:[ -c concurrency ]
           長連接:[ -k ]

原創文章,作者:zhai796898,如若轉載,請注明出處:http://www.www58058.com/55277

(0)
zhai796898zhai796898
上一篇 2016-10-31
下一篇 2016-10-31

相關推薦

  • N22-妙手-第一周博客作業

           描述計算機的組成及其功能 1946年馮諾依曼提出馮 諾依曼結構,也稱普林斯頓結構,即一種將程序指令存儲器和數據存儲器合并在一起的存儲器結構。根據他的結構,計算機組成是: (1)運算器:負責數據的算術運算和邏輯運算 (2)控制器:  負責對程序信息和數據進行分析,控制并協調其輸…

    Linux干貨 2016-08-15
  • 淺談linux基礎知識(一)

    一:計算機的組成 組成: 計算機的主要組成部分為計算機硬件、軟件。 計算機硬件系統包括: 主機和外部設備。 主機包括:運算器、控制器、存儲器(只讀ROM、隨機RAM)。 外部設備主要包括:輸入設備、輸出設備、外存儲器和其他。 軟件包括: 應用軟件、系統軟件。 二:linux的發行版及不同發行版之間的聯系和區別。 1.Debian(唯一一個無商業公司支持的社區…

    Linux干貨 2016-09-18
  • RAID各級別特性介紹

        RAID全稱為獨立磁盤冗余陣列(Redundant Array of Independent Disks):基本思想就是把多個相對便宜的硬盤組合起來,成為一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、 容量巨大的硬盤。     RAID通常被用在服務器電腦上,使用完全相…

    Linux干貨 2016-06-22
  • 第七周 練習

    1. 請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 集線器:集線器的主要功能是對接收到的信號進行再生整形放大,以擴大網絡的傳輸距離網橋:是早期的兩端口二層網絡設備,用來連接不同網段。網橋的兩個端口分別有一條獨立的交換信道,      不是共享一條背板總線,可隔…

    Linux干貨 2016-12-13
  • 78 款 Markdown 工具

    Markdown 是一種易寫易讀的文本標記語言。本文介紹了編寫、查看 Markdown 的78種工具,涵蓋桌面端、移動端和 web 端。     Markable 強大的在線 Markdown 編輯器,支持語法高亮、自動縮進、高亮所在行、顯示行數、即時預覽。它支持將 HTML 轉換成 Markdown。 可以配合 Evernote、Dro…

    2015-03-26
  • 條件判斷if、case與文件查找locate、find及相關練習

    一、條件選擇 1、if:按條件執行腳本中的內容,可以使用嵌套結構,有單分支、雙分支和多分支結構,每個條件中可以有不止一條語句,如果有多條語句,可以用and(-a)或or(-o)連接在一起,但不能使用&&或||: if COMMANDS; then     COMMANDS;   &n…

    Linux干貨 2016-08-18
欧美性久久久久