以下是 CentOS 上安装、配置和优化 Nginx,支持 TLS 1.2 和 1.3,以及限流和降级的步骤:
安装 Nginx:
sudo yum install nginx
配置 TLS 1.2 和 1.3:
编辑 /etc/nginx/nginx.conf 文件,在 http 部分下添加以下内容:
ssl_protocols TLSv1.2 TLSv1.3;
配置限流:
使用 Nginx 的 limit_req_zone 指令来设置限制区域,并在需要进行限制的地方使用 limit_req 指令进行限制。例如,在 /etc/nginx/nginx.conf 文件中添加以下内容:
http {limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;server {...location / {limit_req zone=one burst=5;...}...}
}
以上配置将每秒最多允许一个请求,超过则返回 503 错误,同时允许瞬时突发 5 个请求。
配置降级:
使用 Nginx 的 proxy_next_upstream 指令来设置当后端服务器出现错误时是否继续尝试向下一个后端服务器转发请求。例如,在 /etc/nginx/nginx.conf 文件中添加以下内容:
http {upstream backend {server backend1;server backend2;server backend3;}server {...location / {proxy_pass http://backend;proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;...}...}
}
以上配置将在后端服务器出现错误时继续尝试向下一个后端服务器转发请求,直到所有后端服务器均出现错误或请求被成功处理。