加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

nginx:仅在http请求为OPTIONS时才不需要基本身份验证

发布时间:2020-12-13 20:59:57 所属栏目:Nginx 来源:网络整理
导读:未与HTTP OPTIONS请求一起发送授权标头.我只想在请求为OPTIONS时禁用此身份验证,而将其保留用于其他请求.这是我目前拥有的相关配置代码.似乎看不出为什么它不起作用.我总是在OPTIONS请求中收到401未经授权的错误. location ~ /foo/bar { if ($request_method

未与HTTP OPTIONS请求一起发送授权标头.我只想在请求为OPTIONS时禁用此身份验证,而将其保留用于其他请求.这是我目前拥有的相关配置代码.似乎看不出为什么它不起作用.我总是在OPTIONS请求中收到401未经授权的错误.

    location ~ /foo/bar
    {

      if ($request_method = OPTIONS) {
        set $auth_basic "off";
      }
      if ($request_method != OPTIONS)
      {
        set $auth_basic "Resctricted";
        set $auth_basic_user_file /var/www/.htpasswd;
      }
      auth_basic $auth_basic;
      auth_basic_user_file $auth_basic_user_file;
    }
最佳答案
看起来是旧帖子,但找到了以下解决方案:

将以下配置放入“位置”中,然后从服务器中删除所有auth_basic.这会起作用

  location / {
    # Your node proxy configuration for example #

    # Make options requests work #
    limit_except OPTIONS {
      auth_basic "Restricted access zone";
      auth_basic_user_file /etc/nginx/pass/protected;
    }
  }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读