nginx 禁用不安全的http方法

从安全防护角度考虑,一般我们要禁用不安全的 HTTP 方法,仅保留 GET、POST 方法。

 

nginx 禁用不安全的http方法,既可以在nginx配置文件 server 下进行全局设置,也可以在某个location下进行设置。

全局设置方式一

        if ($request_method ~ ^(PUT|DELETE)$) {
            return 403;
        }

        if ($request_method !~ ^(GET|POST)$) {
            return 403;
        }

比如:

server {
        listen       80;
        server_name  www.iwen.com;
        #return 301 https://$server_name$request_uri;

        if ($request_method !~ ^(GET|POST)$) {
            return 403;
        }
        .......
        .......
}

局部设置方式一

location /knowlege_app {
        include /usr/local/nginx/allow_ip_list.conf;
        if ($request_method = PUT ) {
                return 403;
        }

        if ($request_method = DELETE ) {
                return 403;
        }
        if ($request_method = OPTIONS ) {
                return 403;
        }
        if ($request_method = TRACE ) {
                return 403;
        }
        proxy_pass http://serverKnowlege_app;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

局部设置方式二:

location /knowlege_app {
        include /usr/local/nginx/allow_ip_list.conf;
        if ($request_method !~ ^(GET|POST)$) {
                return 403;
        }

        proxy_pass http://serverKnowlege_app;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

 

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
以下是一些常用的nginx安全加固操作方法: 1. 更新nginx版本:定期检查并更新nginx版本,以获取最新的安全修复和功能改进2. 限制访问:通过nginx的访问控制列表(ACL)或使用防火墙规则,限制只允许特定IP地址或地址段访问服务器。 3. 配置HTTPS:使用SSL/TLS证书来启用HTTPS,确保传输过程中的数据加密和完整性。可以使用Let's Encrypt等工具来获取免费的SSL证书。 4. 隐藏服务器信息:在nginx配置中禁用或修改响应头部的Server字段,以隐藏服务器的版本和其他敏感信息。可以使用`server_tokens off;`配置指令来实现。 5. 安全访问日志:配置nginx的访问日志,记录详细的访问信息和攻击尝试,以便及时发现并应对安全威胁。 6. 防止DDoS攻击:使用nginx的限速模块或防火墙来限制恶意请求,防止分布式拒绝服务(DDoS)攻击。可以使用`limit_req`和`limit_conn`等指令来进行限速和连接数控制。 7. 强化认证:通过使用nginxHTTP Basic Authentication或其他认证方式,对需要进行身份验证的路径进行保护。可以使用`auth_basic`和`auth_basic_user_file`指令来配置基本身份验证。 8. 配置安全头部:在nginx配置中添加适当的安全头部,如Strict-Transport-Security(HSTS)、Content-Security-Policy(CSP)等,以增加对XSS、CSRF等攻击的防护。可以使用`add_header`指令来配置安全头部。 9. 定期备份和监控:定期备份nginx配置和相关文件,并监控服务器的性能和安全状态,及时发现并解决潜在问题。 请注意,这些操作方法可以根据实际需求进行适当调整和扩展。建议在进行任何更改之前,先备份相关文件,并在测试环境中进行验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值