阿帕奇服务器安装配置教程

深夜調試新節點的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防窺探)

评论:

  • 編譯參數加–with-included-apr能避開多少坑?上次glibc版本衝突搞到凌晨三點
  • 求教CDN回源優化!我們源站在東京,CDN節點在美西,用戶上傳文件老是超時
  • mod_evasive在百萬級別DDoS下真能扛住?最近被打了32Gbps的UDP flood
  • SSL配置裏那個HSTS預加載列表有實戰價值嗎?看官方文檔感覺是個玄學
  • 博主救命!Apache日誌裏突然出現大量OPTIONS * HTTP/1.0請求,這是在掃漏洞嗎?
  • Leave a comment

    您的邮箱地址不会被公开。 必填项已用 * 标注