当前位置:首页 > 技术文章 > 正文内容

nginx 防攻击 安全设置 实例

arlanguage4个月前 (12-23)技术文章34

Nginx 是一款高性能的 HTTP 和反向代理服务器,它也提供了一些内置的功能来增强安全性和抵御网络攻击。以下是一些 Nginx 的安全设置实例:

1. 限制请求速率(防止DDoS攻击)

使用 limit_req 模块来限制客户端的请求速率:

http {
    limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
    
    server {
       location / {
           limit_req zone=one burst=5 nodelay;
       }
    }
}

2. 限制并发连接数

使用 limit_conn 模块来限制特定 IP 的并发连接数:

http {
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    
    server {
        location / {
            limit_conn addr 10;
        }
    }
}

3. 防止点击劫持

添加 X-Frame-Options 头部来防止点击劫持攻击:

server {
    location / {
        add_header X-Frame-Options SAMEORIGIN;
    }
}

4. 防止 MIME 类型混淆

添加 X-Content-Type-Options 头部来防止 MIME 类型混淆攻击:

nginx
server {
    location / {
        add_header X-Content-Type-Options nosniff;
    }
}

5. 防止 XSS 攻击

添加 X-XSS-Protection 头部来启用浏览器的 XSS 过滤:

server {
    location / {
        add_header X-XSS-Protection "1; mode=block";
    }
}

6. 禁止代理访问

如果你不希望搜索引擎或其他代理访问你的网站,可以添加以下配置:

server {
    location / {
        allow 127.0.0.1; # 只允许本地访问
        deny all;
    }
}

7. 使用 SSL/TLS

启用 SSL/TLS 来保护数据传输的安全:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        # 处理 HTTPS 请求
    }
}

8. 防止目录浏览

禁止目录浏览,只允许文件访问:

server {
    location / {
        autoindex off;
    }
}

9. 配置防火墙规则

在 Nginx 前面使用防火墙(如 iptables 或 firewalld)来限制访问:

bash
# 使用 iptables 限制特定 IP 的访问
iptables -A INPUT -p tcp --dport 80 -s 192.168.1.100 -j DROP

10. 配置 HSTS

强制客户端使用 HTTPS 连接:

server {
    listen 443 ssl;
    server_name example.com;

    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;

    location / {
        add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
    }
}

这些设置可以帮助你提高 Nginx 的安全性,但请记得根据你的具体需求和环境进行调整。安全是一个持续的过程,需要定期更新和维护。

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/390.html

标签: nginx if deny
分享给朋友:

“nginx 防攻击 安全设置 实例” 的相关文章

Nginx基础知识之rewrite反向代理规则

location ~ .*\.(sh|bash)?$ {return 403;}~是区分大小写的匹配。? 是匹配前面的字符零次或者一次。状态码403是Fobidden,表示服务器已经理解请求,但是拒绝执行它。访问的URL以.sh或.bash结尾,则返回状态码403。403表示服务器已经理解请求,但是...

分享一段PHP代码的加密扩展 分享一段php代码的加密扩展怎么弄

介绍一个简洁、高性能、跨平台的 PHP7 代码加密扩展特点简单快速,经实测,几乎不影响性能兼容 OPcache、Xdebug 等其他扩展支持 Linux、macOS、Windows 等系统兼容 Apache、Nginx + PHP-fpm、命令行等运行模式加密算法较简单,这是出于速度考虑,但仍不易解...

服务器排障nginx 499 错误地解决

问题描述:近期平台对外开放了数据查询接口,在数据量特别大时,返回结果时间可能会超过3秒,接口开放后,系统本身调用没有问题,其他第三方平台接入时,总会报链接超时问题;问题原因:查看tomcat日志无任何错误,一开始以为是tomcat接收参数最大限制问题,对tomcat做了一次整体优化,修改连接数、修改...

docker安装php

本节将介绍在线使用Docker安装PHP解析器的步骤。通过本节的实操,您可以掌握从Docker环境的使用,PHP镜像以及Nginx服务器的拉取、导入、容器的启动的全部过程,从而具备使用Docker安装并部署PHP与ngninx的能力。本节要求您具备的基本能力有Linux,Docker,以及nginx...

08《Nginx 入门教程》Nginx 的 Http 模块介绍(中)

在前面介绍完 post-read、server-rewrite、find-config、rewrite 和 post-rewrite 阶段后,我们将继续学习 preaccess 和 access 两个阶段,中间会涉及部分模块,一同进行说明。1. preaccess 阶段在 preaccess 阶段在...

终于有人把Docker讲清楚了,Docker入门教程,原来这么简单...

Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的容器中,然后发布到任何流行的机器上。Docker的迅猛发展和全新理念,席卷了整个IT界,成为云时代的一颗新星。Docker的优势Docker相比于传统虚拟化方式具有更多的优势:docker启动快速...