在Linux下,您可以使用Nginx或Apache等Web服務器來實現Swagger的請求限速。這里以Nginx為例,介紹如何實現請求限速。
首先,確保您已經安裝了Nginx。如果尚未安裝,請根據您的Linux發行版選擇相應的安裝命令。例如,在Ubuntu上,您可以使用以下命令安裝Nginx:
sudo apt-get update
sudo apt-get install nginx
編輯Nginx的配置文件(通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default),在http、server或location塊中添加以下內容:
http {
...
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;
server {
...
location /swagger-ui.html {
...
limit_req zone=mylimit burst=5 nodelay;
}
location /v2/api-docs {
...
limit_req zone=mylimit burst=5 nodelay;
}
location /webjars/ {
...
limit_req zone=mylimit burst=5 nodelay;
}
}
}
在這個例子中,我們創建了一個名為mylimit的限速區域,限制每個IP地址每秒只能發送1個請求。burst參數允許在短時間內接受超過限制的請求,這里設置為5。nodelay參數表示不對請求進行延遲處理,即立即處理超過限制的請求。
保存配置文件并重啟Nginx以使更改生效:
sudo service nginx restart
現在,您的Swagger UI應該已經實現了請求限速。請注意,這個配置僅適用于通過Nginx代理的請求。如果您直接訪問Swagger UI,而不是通過Nginx代理,您需要在應用程序中實現限速。