เหมือนกับที่ google ทำไว้แบบนี้
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
path=/; domain=.google.com
Server: GWS/2.1
Content-Length: 0
Date: Wed, 16 Nov 2005 21:33:28 GMT
เหมือนกับที่ google ทำไว้แบบนี้
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
path=/; domain=.google.com
Server: GWS/2.1
Content-Length: 0
Date: Wed, 16 Nov 2005 21:33:28 GMT
Google เขียน Web server เองไม่ใช่หรอครับ เขาไม่ได้เปลี่ยนนะ ลองหาดูใน Google ซิครับ
ป.ล. ไม่ค่อยแน่ใจ
เจอวิธีเปลี่ยนแต่เปลี่ยนไม่ได้
พอดีเจออันนี้มา แต่เก่าเกิน
If you wish to set your own server version for Apache too somthing else that maybe fits into your company name, its actually a very simple process but it does involve adjusting the apache source.
An example of what it looks like after you have edited is google.com
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html
Server: GWS/2.1
Content-Length: 0
Date: Wed, 16 Nov 2005 21:33:28 GMT
As you see it returns GWS, speculation says its Google Web Server however watching as the versions go on they match the Apache releases, so they either use a heavily modded apache version or just the simple change that I am about too show.
Apache does have this feature somewhat built in already and all we are changing is one line.
if (ap_server_tokens == SrvTk_PRODUCT_ONLY) {
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT);
}
else if (ap_server_tokens == SrvTk_MINIMAL) {
ap_add_version_component(pconf, AP_SERVER_BASEVERSION);
}
else if (ap_server_tokens == SrvTk_MINOR) {
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT "/" AP_SERVER_MINORREVISION);
}
else if (ap_server_tokens == SrvTk_MAJOR) {
ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT "/" AP_SERVER_MAJORVERSION);
}
else {
ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (" PLATFORM ")");
}
This is where it sets the product version, and if you set it to Prod it will only return the base_product with nothing else, so all we have to do is adjust the base_product. Anyway enough babbling and lets get straight too the point.
Firstly, you will need to grab a copy of apache from http://www.apache.org,
wget http://www.mirror.ac.uk/mirror/ftp.apache.org/httpd/httpd-2.1.9-beta.tar.gz
tar -zxvf httpd-2.1.9-beta.tar.gz
cd httpd-2.1.9-beta
Now we need to modify include/ap_release.h before compiling
nano include/ap_release.h
Find
#define AP_SERVER_BASEPRODUCT "Apache"
and replace it with
#define AP_SERVER_BASEPRODUCT "HostGeekZ"
Obviously replacing HostGeekZ with the version you wish too use.
Now compile and install apache
./configure --prefix=/usr/hostgeekz
make
make install
Obviously add whatever is required, ie --with-curl --with-mysql and so on too your configure line.
Now want to set httpd.conf to read the first statement of server_baseproduct only to do this open httpd.conf, the path will depend on what you set --prefix too, as we used /usr/hostgeekz this is where httpd.conf will be
nano /usr/hostgeekz/conf/httpd.conf
Now find
ServerSig
and set this too
ServerSig off
Then add this below
ServerTokens Prod
Then start apache, you are now complete and it should return
Server: HostGeekZ
Updated versions of this guide may be found Here (http://www.hostgeekz.com/guides/Security/57/Change_Apache_Version_Header.htm)
+1 อิอิ
ลองไปดูในนี้ครับ http://toey.tc20.net/2010/07/31/how-to-change-apache-product-name-on-header
หรือ http://www.thaibsd.com/webboard/show.php?Category=thaibsd&No=6512 เคยเขียนไว้นานแระครับ
ใน mod_security จะมีให้แก้ด้วยครับ
ลองดูครับ
ขอบคุณครับ
แต่มันจะมีปัญหากับ โปรปแกรมอื่นที่ระบุ version ของ apache
สมมต
เช่น โปรแกรม xyz ต้องการ apache version 2.45 up
แต่เราลง apache 2.50 ถ้า ธรรมดาเราลง xyz ได้ครับ
แต่ถ้าเราแก้เป็น 2.40 เราจะลง xyz ไม่ได้ มันจะฟ้องว่า apache เราเก่าไป
หรือ เราลง apache 2.40 แต่เรา แก้เป็น 2.50 เวลาลง โปรแกรม xyz แล้ว มันจะฟ้องว่า lib หายไป หรือ ตัวแปรบางตัวไม่ได้นิยาม
แต่ถ้าลงได้ โปรแกรม xyz มันจะ error บ่อย หรือบางมันมันปิดโปรแกรมไปดื้อๆ
ขอบคุณครับ งั้นไม่เปลี่ยนแล้ว