Linux
htaccess 中的主機名有多貴?其他可能的解決方案?
為了輕鬆允許或禁止動態 IP 地址,您可以將它們作為主機名添加到 .htaccess 文件中。
正如我所讀到的: .htaccess 允許來自主機名?
它對連接的 IP 地址進行反向查找,查看響應是否與允許的名稱匹配。
(嗯,實際上 Apache 正在執行雙重查找,首先是反向查找,然後是對反向結果的正向查找。)
這就是我們目前不在 .htaccess 中使用動態 IP 主機名的原因:這“聽起來”相當沉重:每個請求需要額外查找 2 次。
- 這確實很重嗎,一個相當繁忙的伺服器會不會尋找更少的負載而擺脫這個:)?(例如:這個“負載”與其他“負載”相比如何?如果一個請求的成本高出 1000 倍那麼查找它可能可以忽略不計。otoh,它可能是最後一根稻草 :))
- **還有其他解決方案嗎?**我當然可以編寫一個查找主機名的腳本並將其放入 .htaccess 文件中,但這感覺有點像 hack。
僅使用 .htaccess 本身就是性能殺手。當在 Apache 全域配置中以任何方式啟用 AllowOverrides 時,httpd 必須在每個請求的 URI 的每個目錄級別查找 .htaccess 文件,以防它需要讀取某些內容。這相當於許多額外的 lstat() 呼叫,增加了延遲並增加了伺服器必須做的工作量。也許您因為共享主機設置而被 .htaccess 卡住了,但是無論如何您都無法真正獲得“高性能”… ;)
撇開 DNS 不是最重要的指標不談,您禁止“動態”IP 地址的目標是什麼?這將更適合應用程序防火牆——位於您的 Apache 伺服器前面進行 IP 檢查的東西,可能通過檢查黑名單,可能使用本地 DNS 解析器。