浏览 3.7k
后端的某一个接口,使用nginx访问代理访问互联网,应该使用正向代理还是反向代理

按点赞数排序
按时间排序
要实现这个效果,用 NGINX 的 `ngx_http_limit_req_module` 这个模块也可以 就是:
1. 编辑 NGINX 配置文件:打开 NGINX 的配置文件,通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/sites-available/default`。(要是没有就安装一个安装 NGINX)
2. 添加限速配置:在 `server` 块中,添加以下限速配置:
```nginx
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
listen 80;
server_name your_domain.com;
location / {
limit_req zone=one burst=1 nodelay;
proxy_pass http://backend_server; # 替换为实际的后端服务器地址
}
}
}
```
在上面的配置中,`limit_req_zone` 定义了一个请求限速的区域,`rate=1r/s` 表示每秒只允许一个请求通过。`limit_req` 指令用于在指定区域内进行请求限速。`burst=1` 表示允许短时间内的一个请求突发,`nodelay` 则确保不会延迟请求。
3. 重启 NGINX:保存配置文件并重启 NGINX 以生效:
```bash
sudo service nginx restart
```
这个时候 用户点击网页时,会在 20 秒内只能发出一个请求,其他请求将被限制。但是重点是,实际的延迟可能会因为客户端和服务器之间的网络延迟结果不一样,这个主要适用基于 NGINX 的反向代理配置。如果后端应用程序里使用了会话或者其他状态,就需要针对的调整,这样才不会影响应用程序的功能。
微信公众号
加入微信群