Linux

在不訪問配置文件的情況下找出 Apache 指令設置的值?

  • May 20, 2013

我正在對時間敏感的文件上傳應用程序進行故障排除,並懷疑該問題可能是由於 Apache 的KeepAliveTimeout指令造成的。剛打電話給託管支持,問他們設置是什麼。他們告訴我“這不是公開可用的資訊”。我擁有對共享託管伺服器的 shell 訪問權限。

搜尋httpd.conf沒有成功就終止。

有沒有辦法在沒有訪問權限的情況下找出指令值的值httpd.conf

試試httpd -V。這將向您展示 Apache 在哪裡尋找配置文件。您正在尋找類似的東西:

-D SERVER_CONFIG_FILE=“conf/httpd.conf”

有一個顯示設置的選項,但目前它不是很有用:-S Show the settings as parsed from the config file (currently only shows the virtualhost settings).

ig您可以訪問虛擬主機設置,然後您可以TimeOut自己設置:

http://httpd.apache.org/docs/2.2/mod/core.html#timeout

希望有幫助。

Apache 和 NGinx 都使用 5 分鐘作為預設的 keepalive 超時。

很可能您無權訪問該資訊 - 它包含在伺服器的配置文件中 - 如果託管公司甚至遠端參與,客戶通常無法訪問。您也許可以使用 nmap 等簡單的網路工具找出哪個伺服器。

你可以使用 telnet 也許:

telnet host 80

一旦在 telnet 嘗試:

get / HTTP/1.0

在響應中尋找行首

Server:

你可以用“ps ax”列出伺服器的程序——你可能會也可能不會得到一個完整的列表。Apache 這些天顯示為 apache2 或者可能是 httpd,具體取決於作業系統的風格。

使用 curl 您可以製作一個命令行來執行 keepalive 超時並以一種或另一種方式證明它。不幸的是,我現在不知所措。

引用自:https://serverfault.com/questions/509176