服務(wù)器中如何禁用危險(xiǎn)的HTTP方法(TRACE、OPTIONS等)
在Nginx中禁用危險(xiǎn)HTTP方法(TRACE、OPTIONS等)
在Nginx中禁用危險(xiǎn)的HTTP方法(如TRACE、OPTIONS)可以通過多種方式實(shí)現(xiàn)。以下是幾種常用方法:
方法一:使用limit_except指令(推薦)
server { listen 80; server_name example.com; location / { # 只允許GET、POST、HEAD方法 limit_except GET POST HEAD { deny all; } # 其他配置... proxy_pass http://backend; } }
方法二:更全面的方法限制
server { listen 80; server_name example.com; # 全局禁用危險(xiǎn)方法 if ($request_method !~ ^(GET|HEAD|POST)$) { return 405; } location / { # 特定location的配置 proxy_pass http://backend; } # 對(duì)于需要OPTIONS方法的API接口(如CORS) location /api/ { # 允許OPTIONS方法用于CORS預(yù)檢請(qǐng)求 if ($request_method = OPTIONS) { add_header Access-Control-Allow-Origin "*"; add_header Access-Control-Allow-Methods "GET, POST, OPTIONS"; add_header Access-Control-Allow-Headers "Authorization, Content-Type"; add_header Access-Control-Max-Age 1728000; return 204; } # 限制其他危險(xiǎn)方法 if ($request_method ~ ^(TRACE|TRACK)$) { return 405; } proxy_pass http://api_backend; } }
方法三:使用map指令(更高效)
# 在http塊中定義 http { map $request_method $denied_method { default 0; TRACE 1; OPTIONS 1; # 添加其他需要禁用的方法 } server { listen 80; server_name example.com; location / { if ($denied_method) { return 405; } proxy_pass http://backend; } } }
驗(yàn)證配置
檢查配置文件語(yǔ)法:
nginx -t
重新加載Nginx:
nginx -s reload
測(cè)試禁用方法是否生效:
# 測(cè)試TRACE方法 curl -X TRACE http://example.com # 測(cè)試OPTIONS方法(如果已禁用) curl -X OPTIONS http://example.com
注意事項(xiàng)
OPTIONS方法:在某些情況下(如CORS),可能需要允許OPTIONS方法。請(qǐng)根據(jù)實(shí)際需求調(diào)整配置。
返回狀態(tài)碼:通常返回405(Method Not Allowed)或403(Forbidden)。
性能考慮:使用if指令可能影響性能,特別是在高流量環(huán)境中。考慮使用limit_except或map方法。
測(cè)試:在應(yīng)用更改前,確保充分測(cè)試所有正常功能不受影響。
windows 2008-2012中禁用危險(xiǎn)HTTP方法(TRACE、OPTIONS等):
在站點(diǎn)根目錄下建立web.config,內(nèi)容如下,如果文件已經(jīng)存在,請(qǐng)?zhí)砑蛹t色部分
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<verbs allowUnlisted="true">
<add verb="OPTIONS" allowed="false"/>
<add verb="TRACE" allowed="false"/>
</verbs>
</requestFiltering>
</security>
</system.webServer>
</configuration>
windows 2003中禁用危險(xiǎn)HTTP方法(TRACE、OPTIONS等):
控制面板-ISAPI篩選器-啟用自定義重寫組件,然后編輯/others/discuz/httpd.conf 如果您已有其他規(guī)則,請(qǐng)?zhí)砑拥降谝粭l規(guī)則
RewriteEngine on RewriteCond %{THE_REQUEST} ^(TRACE|OPTIONS) RewriteRule .* - [F]
Apache中禁用危險(xiǎn)HTTP方法(TRACE、OPTIONS等)
在站點(diǎn)根目錄下創(chuàng)建.htaccess文件,內(nèi)容如下,如果您已有其他規(guī)則,請(qǐng)?zhí)砑拥降谝粭l規(guī)則
RewriteEngine On RewriteCond %{REQUEST_METHOD} ^(TRACE|OPTIONS) RewriteRule .* - [F]
上一篇:Linux服務(wù)器如何關(guān)閉ipv6
下一篇:服務(wù)器安全:Windows系統(tǒng)安全風(fēng)險(xiǎn)-本地NTLM重放提權(quán)的防范
- Linux服務(wù)器屏蔽國(guó)外IP訪問及簡(jiǎn)單的防CC攻擊攔截
- 服務(wù)器安全:Windows系統(tǒng)安全風(fēng)險(xiǎn)-本地NTLM重放提權(quán)的防范
- 服務(wù)器中如何禁用危險(xiǎn)的HTTP方法(TRACE、OPTIONS等)
- Linux服務(wù)器如何關(guān)閉ipv6
- Windows Server 2008或Windows Server 2012服務(wù)器修復(fù)SSL/TLS協(xié)議信息泄露漏洞(CVE-2016-2183)漏洞
- 網(wǎng)站服務(wù)器:隱藏IIS的server版本信息
- web服務(wù)器中需要禁用的php危險(xiǎn)函數(shù)
- CentOS操作系統(tǒng)服務(wù)器時(shí)間更新