nginx的优化

安全配置相关

1.设置隐藏nginx的版本信息

server_token off;

2.nginx文件的上传限制

client_max_body_size 设置大小

3.nginx的防盗链设置

1.通过页面加水印的方法

2.通过会话的验证进行设置(cookie,session会话验证等)

3.配置对应的valid_referers

valid_referers指令指定了允许访问的来源,none表示没有Referer头时允许,blocked表示禁止所有来自没有Referer头的请求,example.com和*.example.com表示允许从example.com及其子域访问。

4.防爬虫配置(user agent)

server {
    listen 80;
    server_name example.com;

    set $blocked 0;
    
    # 检查 User-Agent 是否包含常见爬虫关键字
    if ($http_user_agent ~* (googlebot|bingbot|slurp|baidu|yandex)) {
        set $blocked 1;
    }
    
    # 如果是爬虫,返回403
    if ($blocked) {
        return 403 "Forbidden: Bot access detected.";
    }
    
    # 其他配置...
}

文件一般设置为 644 目录755等 上传的目录改为nginx的用户

5.以nginx的用户权限配置启动nginx(有端口的限制 系统端口必须使用)

6.限制并发访问(# 定义连接限制区域,限制每个 IP 地址最多同时连接 1 个请求

limit_conn_zone $binary_remote_addr zone=addr:10m;)

limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=1r/s; # 定义请求限制区域,限制每个 IP 地址每秒最多 1 次请求

性能配置优化

1.worker_processes auto; ,Nginx 将会自动检测机器上的 CPU 核心数,并根据核心数决定启动多少个工作进程

2.multi_accept on; 工作进程会在收到新连接通知后,尽可能地一次性接受所有待处理的连接

高并发建议开启

3.client_body_buffer_size

  • 作用: 设置用于读取客户端请求主体的缓冲区大小。

4.日志切割(logrotate)



相关文章

Nginx 结合服务端实现下载文件鉴权

背景通过 URL 在浏览器下载文件时,并且要判断有权限的用户才能下载。功能描述浏览器输入下载 URL,吊起浏览器自带的用户名和密码输入框,将填入的用户信息传给服务端,校验通过下载文件,校验不通过重新输...

Nginx Header 整理

client_max_body_sizelarge_client_header_buffersclient_header_buffer_sizeTesting很多时候服务端响应报错的时候,可能会跟He...

nginx 400 状态码问题探究

header 过大问题,nginx 增加配置 (无效)client_header_buffer_size 1024k; large_client_header_buffers 4 1024k;修改bo...

php nginx 修改文件上传最大大小

修改php nginx文件上传的最大大小限制,需要同时修改php的配置文件和nginx的配置文件,并重启php和nginx生效。修改php文件最大上传大小限制1、查找php.ini配置文件在服务器中的...

一次Nignx的502页面的错误记录

转载自:https://www.cnblogs.com/tinywan/p/6777592.html(1)错误页面显示错误日志:// :: [error] #: * recv() failed (:...