发布时间:2026-07-20阅读(1)

要禁止访问特定后缀名的文件,可以使用 Nginx 的 location 指令以及 deny 指令。以下是一个基本的示例:
location ~ \.php$ { deny all;}
上面的配置将会拒绝所有以 .php 结尾的请求。在此配置中,~ 表示使用正则表达式匹配请求 URI,\. 匹配实际的点字符,php 匹配文件扩展名。deny all 指令表示拒绝所有请求。
如果你想禁止其他类型的文件,只需将 .php 替换为你想要禁止的文件类型即可。如果你想禁止多个文件类型,可以在 location 指令中使用正则表达式或多个 location 指令。例如:
location ~* \.(php|jsp|asp)$ { deny all;}
禁止访问整个目录或目录下文件
#禁止访问目录location ^~ /test/ { deny all;}#禁止访问目录下文件location ^~ /test { deny all;}
由于某些 Nginx 漏洞只存在于特定的版本,隐藏版本号可以提高安全性。因此,需要对Nginx的不必要信息做隐藏加固,具体配置方法:
proxy_set_header X-Powered-By "";
这样可以把 X-Powered-By 头部信息设置为空字符串,从而隐藏应用程序的类型和版本信息。
常见的HTTP请求处理有 GET、POST 两种请求方法,而 HTTP/1 协议还规定了 UPDATE、DELETE、TRACE等 方法用于请求处理和网络诊断,这也可能会暴露一些Server信息。因此,针对 GET、POST 以及 HEAD 之外的请求,具体配置方法如下:
location / { limit_except GET POST { deny all; }}
上述配置将允许 GET 和 POST 方法,而禁止其他所有方法(如 PUT、DELETE 等)。
2.使用 Nginx 模块的配置指令:有些 Nginx 模块(如 ngx_http_dav_module、ngx_http_webdav_module 等)提供了专门的配置指令来限制允许的 HTTP 方法。例如,可以使用 dav_methods 指令来限制 WebDAV 的 HTTP 方法,例如:
location / { dav_methods PUT DELETE MKCOL; ...}
上述配置将仅允许 PUT、DELETE 和 MKCOL 方法。
3.使用第三方模块:有一些第三方模块(如 ngx_http_security_module)提供了额外的安全功能,其中包括限制允许的 HTTP 方法。这些模块可以通过安装插件来启用。
需要注意的是,禁用某些 HTTP 方法可能会影响应用程序的正常运行,因此需要根据实际情况进行权衡和调整。
合理的配置响应头可以提高网站的安全性和性能。以下是一些建议:
近年来爆出的一些安全漏洞如下:
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图