0 httpd2.2配置詳解-Apache配置檔案詳解-(二)
阿新 • • 發佈:2018-11-28
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 #: 調整當前使用者所同時開啟的檔案數;