1、nginx隐藏头部版本信息方法
编辑nginx.conf配置文件,在http{}内增加如下一行
http {
……
server_tokens off;
……
}
编辑php-fpm配置文件,fastcgi.conf或fcgi.conf
找到:
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
改为:
fastcgi_param SERVER_SOFTWARE nginx;
重启nginx服务生效
[root@xmydlinux conf]# curl --head 127.0.0.1
HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=utf-8
Connection: keep-alive
…………
2、apache隐藏头部版本信息
编辑httpd.conf文件
找到:
ServerTokens OS
ServerSignature On
修改为:
ServerTokens ProductOnly
ServerSignature Off
重新启动httpd服务生效
[root@xmydlinux ~]# curl -I 127.0.0.1
HTTP/1.1 200 OK
Server: Apache
Accept-Ranges: bytes
Content-Length: 97
Connection: close
Content-Type: text/html
另:可更改源码include目录下ap_release.h这个文件
#define AP_SERVER_BASEVENDOR “Apache Software Foundation” #apache相关字样都可更改
#define AP_SERVER_BASEPROJECT “Apache HTTP Server”
#define AP_SERVER_BASEPRODUCT “Apache”
#define AP_SERVER_MAJORVERSION_NUMBER 2 #版本字段可随意更改
#define AP_SERVER_MINORVERSION_NUMBER 2
#define AP_SERVER_PATCHLEVEL_NUMBER 17
#define AP_SERVER_DEVBUILD_BOOLEAN 0
3、PHP版本头部文件隐藏返回
修改php.ini文件
找到:
expose_php = On
修改为:
expose_php = Off
可以避免http头部信息中返回“X-Powered-By: PHP/5.2.17”字样。。
在用的apache服务器,启动报错:
shmget() failed: Invalid argument
Failed to start up concurrent users module!
经检查为kernel.shmmax设置未生效(copy另一系统的,数值设置大了)
如下:
[root@localhost ~]# sysctl -a | grep shmm
kernel.shmmni = 4096
kernel.shmmax = 0
[root@localhost ~]# vi /etc/sysctl.conf
kernel.shmmax = 2147483648
kernel.shmall = 1073742
[root@localhost ~]# sysctl -p
[root@localhost ~]# sysctl -a | grep shm
vm.hugetlb_shm_group = 0
kernel.shmmni = 4096
kernel.shmall = 1073742
kernel.shmmax = 2147483648
kernel.shmmax 数值说明:
单位:字节。一般建议使用物理内存的一半
以4G内存为例:4096/2*1024*1024=2147483648
kernel.shmall 数值说明:
单位:页。1页=4k,设置数值则为物理内存大小
以4G内存为例:4096*1024*1024/4000=1073742
注:以上两项数值如果填写大于本身物理内存则会不生效。
希望以上介绍的解决方法,可以解决大家遇到的问题。
IIS7.5下需先安装IIS6元数据兼容性,官网下载:http://www.iis.net/download/urlscan
URLScan配置文件:C:\Windows\System32\inetsrv\urlscan\UrlScan.ini
配置文件详解:
UseAllowVerbs=1
; 允许的请求的HTTP类型;
; 如果设置为 1,则[AllowVerbs]生效;
; 如果设置为 0,则[AllowVerbs]生效。
UseAllowExtensions=0
; 允许请求的后缀类型;
; 如果设置为 0,则[DenyExtensions]生效;
; 如果设置为 1,则[AllowExtensions]生效。
NormalizeUrlBeforeScan=1
; 执行前标准化URL。
VerifyNormalization=1
; 双重标准化URL。
AllowHighBitCharacters=1
; 如果设置为 1,将允许URL中存在所有字节;
; 如果设置为 0,含有非ASCII字符的URL将拒绝(如UTF8或者MBCS)。
AllowDotInPath=0
; 如果设置为0,则URLScan 拒绝所有包含多个句点 (.) 的请求。
RemoveServerHeader=0
;设置为1可隐藏服务器信息。
AlternateServerName=
; 如果将 RemoveServerHeader设为0,此可自定义服务器关信息。
; 如果将 RemoveServerHeader设为1,则此选项将被忽略。
EnableLogging=1
; 开启日志记录
PerProcessLogging=0
; 如果设置为0,为每个进程创建日志文件。
PerDayLogging=1
; 如果设置为 1,则URLScan每天创建一个新的日志文件。
AllowLateScanning=0
; 如果设置为 0,则 URLScan 作为高优先级筛选器运行。
UseFastPathReject=0
; 如果设置为 1,则 URLScan 忽略 RejectResponseUrl 设置并立即向浏览器返回 404 错误信息。
; 如果设置为 0,则 URLScan 使用 RejectResponseUrl 设置来返回请求。
RejectResponseUrl=
; 设置用于返回的Url路径