如何在 Nginx 中只允许 GET 和 POST 请求方法 ?
Web 服务器有时需要限制某些 HTTP 方法,以防止潜在的未经授权的操作。在本文中,我们将深入探讨如何将Nginx Web 服务器配置为只允许 GE T和 POST 方法,这是 Web 应用程序最常见的 HTTP 方法。
安装 Nginx
如果你的服务器上还没有安装 Nginx,第一步就是安装它。
sudo apt update
sudo apt install nginx
查看 nginx 服务状态
systemctl status nginx
创建站点配置文件
假设存在一个名为 “yourdomain.com”的站点配置文件,打开此配置文件
sudo nano /etc/nginx/sites-available/yourdomain.com
只允许 GET 和 POST 方法
在 location 块中,添加 if 指令以检查是否有未使用 GET 或 POST 方法的请求,并返回“405 Not Allowed”状态。
server { listen 80; server_name yourdomain.com;
location / {
if ($request_method !~ ^(GET|POST)$ ) {
return 405;
}
try_files $uri $uri/ =404;
}
测试站点配置
在编辑配置文件之后,测试配置是否有语法错误。
sudo nginx -t
重新加载配置
测试无误后,重新加载 Nginx 应用更改
sudo systemctl reload nginx
现在你的 Nginx 服务器应该只允许 GET 和 POST 方法。
我的开源项目
评论已关闭