如何在没有mod_security的情况下更改Apache的'Server:'头文件?

snz8szmq  于 2023-01-14  发布在  Apache
关注(0)|答案(2)|浏览(130)

如何在没有mod_security的情况下更改Apache的Server:头文件?
我不想使用mod_security,因为我没有任何其他的事情要做,这对我来说是一个无用的开销。
相反,我应该在Apache的源代码中做些什么改变呢?我通常使用从源代码编译的Apache。
我使用的是Apache版本2.4.46。

7y4bm7vi

7y4bm7vi1#

要更改Apache的Server:标头,请在源代码中更改以下内容:
更改文件/path/to/httpd-2.4.46/include/ap_release.h
转到如下行:

...
#define AP_SERVER_BASEPROJECT "Apache HTTP Server"
#define AP_SERVER_BASEPRODUCT "Apache"
...

把它改成任何东西,比如:

...
#define AP_SERVER_BASEPROJECT "Apache Something My Server"
#define AP_SERVER_BASEPRODUCT "Apache My Server"
...

然后编译apache,你就好了!
此外,请确保遵循随其提供的许可证。这里关于许可证的问题是离题的。

wmtdaxz3

wmtdaxz32#

我理解不使用mod_security来改变单个头文件,所以你可能想给予https://github.com/bostrt/mod_serverheader#installation。它的代码不到100行,在Apache HTTPD启动时运行一个钩子,所以开销很低。
mod_serverheader提供了一个指令,用于完全覆盖Server标头,例如:

LoadModule serverheader_module modules/mod_serverheader.so
ServerHeader my-server

然后,当有人访问您的网站时,他们会看到:

# curl -I http://example.com/
HTTP/1.1 200 OK
Server: my-server
Content-Length: 8
Content-Type: text/html; charset=iso-8859-1

相关问题