nginx代理只允许使用指定方法POST

需求:

  nginx反向代理,其中有一个接口,为了安全考虑,只允许使用POST方法请求,其他方法返回405

代码:

复制代码
set $notlogin 0;

if ($request_uri ~* "login") {
    set $notlogin '${notlogin}1';
}

if ($request_method !~ ^(POST)$ ) {
    set $notlogin '${notlogin}2';
}

if ($notlogin = '012') {
    return 405;
}
复制代码

 

整体代码:

复制代码
location /test/ {

    #if ($request_method !~ ^(GET|POST)$) {
    #       return 405;
    #}
    set $notlogin 0;

    if ($request_uri ~* "login") {
        set $notlogin '${notlogin}1';
    }

    if ($request_method !~ ^(POST)$ ) {
        set $notlogin '${notlogin}2';
    }

    if ($notlogin = '012') {
        return 405;
    }

    proxy_pass http://testserver/;
    proxy_buffers 16 1024k;
    proxy_busy_buffers_size 2048k;
    proxy_temp_file_write_size 2048k;
    client_max_body_size 4000m;
    proxy_set_header Host $host:80;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
复制代码

 

posted @   Leonardo-li  阅读(626)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
· Manus的开源复刻OpenManus初探
历史上的今天:
2022-05-17 nvidia显卡查询
2022-05-17 yapi部署
点击右上角即可分享
微信分享提示