如何在没有mod_security的情况下更改Apache的Server:头文件?我不想使用mod_security,因为我没有任何其他的事情要做,这对我来说是一个无用的开销。相反,我应该在Apache的源代码中做些什么改变呢?我通常使用从源代码编译的Apache。我使用的是Apache版本2.4.46。
Server:
7y4bm7vi1#
要更改Apache的Server:标头,请在源代码中更改以下内容:更改文件/path/to/httpd-2.4.46/include/ap_release.h:转到如下行:
/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,你就好了!此外,请确保遵循随其提供的许可证。这里关于许可证的问题是离题的。
wmtdaxz32#
我理解不使用mod_security来改变单个头文件,所以你可能想给予https://github.com/bostrt/mod_serverheader#installation。它的代码不到100行,在Apache HTTPD启动时运行一个钩子,所以开销很低。mod_serverheader提供了一个指令,用于完全覆盖Server标头,例如:
mod_security
mod_serverheader
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
2条答案
按热度按时间7y4bm7vi1#
要更改Apache的
Server:
标头,请在源代码中更改以下内容:更改文件
/path/to/httpd-2.4.46/include/ap_release.h
:转到如下行:
把它改成任何东西,比如:
然后编译apache,你就好了!
此外,请确保遵循随其提供的许可证。这里关于许可证的问题是离题的。
wmtdaxz32#
我理解不使用
mod_security
来改变单个头文件,所以你可能想给予https://github.com/bostrt/mod_serverheader#installation。它的代码不到100行,在Apache HTTPD启动时运行一个钩子,所以开销很低。mod_serverheader
提供了一个指令,用于完全覆盖Server标头,例如:然后,当有人访问您的网站时,他们会看到: