阿帕奇服务器安装配置教程
深夜調試新節點的Apache配置,突然想起當年第一次手動編譯2.2版本的狼狽。現在用apt-get固然方便,但有些場景依然逃不過手動編譯的命運。這篇不講虛的,直接拆解實戰中那些教科書不會寫的細節。
源碼包解壓後別急著./configure,先幹兩件事:用sha256sum校驗完整性,再刪除默認的httpd.conf備份文件。見過太多人栽在被篡改的源碼包上,尤其是從第三方鏡像站下載的。編譯參數才是重頭戲,別被網上那些通用模板坑了——你的服務器是跑靜態頁面還是PHP?內存4G還是64G?舉個例子,遇到高並發場景得加上–with-mpm=event,默認的prefork在流量突增時能卡成幻燈片。
模塊加載像玩俄羅斯方塊。mod_evasive防CC是必選項,但別直接套用官方參數。實測中DOSHashTableSize至少要設到196613,否則每秒300次請求就能觸發誤判。更騷的操作是結合iptables联动:在httpd.conf里加行\”RewriteMap iptables prg:/etc/apache/block.sh\”,攻擊IP直接進防火牆黑名單,這比純靠Apache扛傷害狠多了。
講到SSL配置就頭疼。新手常犯的致命錯誤:把TLS1.0/1.1當寶貝留著。用Qualys SSL Labs掃描下,分數低於A+的配置都是裸奔。強推這組CipherSuite:
說個真實案例:去年幫某遊戲客戶排查卡頓,發現居然是KeepAliveTimeout設了15秒。五千個並發就把TCP連接池耗盡了,改成3秒加MaxKeepAliveRequests 200,服務器負載從18直接降到3.7。配置參數的魔鬼,永遠藏在細節裏。
CDN對接環節藏著大坑。很多人以為在httpd.conf設個X-Forwarded-For就完事,結果被XSS鑽了空子。必須加上RemoteIPHeader CF-Connecting-IP(以Cloudflare為例),同時開啓mod_remoteip模塊的代理校驗。順手分享個私藏配置:
(評論區總有人問監控方案,最後送個彩蛋:用mod_status看實時狀態時,記得加個LocationMatch防窺探)
评论: