0 httpd2.2配置詳解-Apache配置文件詳解-(二)
阿新 • • 發佈:2018-11-28
切換 more 簡化 css 程序 ip地址 在服務器 filter utf
httpd-2.2
15 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基本認證
--tcp-nodelay 使用TCP_NODELAY選項
-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
用法:curl [options] [URL...]
另一個工具:elinks
elinks [OPTION]... [URL]...
-dump: 不進入交互式模式,而直接將URL的內容輸出至標準輸出;
16 使用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
17、https
http over ssl = https 443/tcp
ssl: v3
tls: v1
https://
SSL會話的簡化過程
(1) 客戶端發送可供選擇的加密方式,並向服務器請求證書;
(2) 服務器端發送證書以及選定的加密方式給客戶端;
(3) 客戶端取得證書並進行證書驗正:
如果信任給其發證書的CA:
(a) 驗正證書來源的合法性;用CA的公鑰解密證書上數字簽名;
(b) 驗正證書的內容的合法性:完整性驗正
(c) 檢查證書的有效期限;
(d) 檢查證書是否被吊銷;
(e) 證書中擁有者的名字,與訪問的目標主機要一致;
(4) 客戶端生成臨時會話密鑰(對稱密鑰),並使用服務器端的公鑰加密此數據發送給服務器,完成密鑰交換;
(5) 服務用此密鑰加密用戶請求的資源,響應給客戶端;
註意:SSL會話是基於IP地址創建;所以單IP的主機上,僅可以使用一個https虛擬主機;
回顧幾個術語:PKI,CA,CRL,X.509 (v1, v2, v3)
配置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
(3) 測試基於https訪問相應的主機;
# openssl s_client [-connect host:port] [-cert filename] [-CApath directory] [-CAfile filename]
18、httpd自帶的工具程序
htpasswd: basic認證基於文件實現時,用到的賬號密碼文件生成工具;
apachectl:httpd自帶的服務控制腳本,支持start, stop;
apxs:由httpd-devel包提供的,擴展httpd使用第三方模塊的工具;
rotatelogs:日誌滾動工具;
access.log -->
access.log, access.1.log
access.log, access.1.log, access.2.log
suexec:
訪問某些有特殊權限配置的資源時,臨時切換至指定用戶運行;
ab: apache benchmark
19、http壓力測試工具
ab
webbench
http_load
jmeter
loadrunner
tcpcopy
ab [OPTIONS] URL
-n: 總的請求數
-c:模擬的並發數
-k: 以持久連接模式測試
ulimit -n #: 調整當前用戶所同時打開的文件數;
0 httpd2.2配置詳解-Apache配置文件詳解-(二)