Nginx 浏览器 - Cookie 身份验证

主要观点:之前配置nginx以在 html 中列出目录和文件,现在添加认证来限制对特定目录和文件的访问。
关键信息:

  • 介绍基本认证(basic authentication),但浏览器在无 javascript 时不支持设置请求头,登录后用 cookies 替代。
  • 通过nginx basic auth创建login端点验证用户/密码对并设置 cookie。
  • 使用nginx map module存储用户相关信息到 cookie 中。
  • 检查 cookie 是否有效及对当前 uri 是否授权,包括按路径的访问权限。
    重要细节:
  • 创建basic.htpasswd文件时使用openssl
  • @login_success中设置ngxpcookie 值。
  • 通过map进行各种变量的映射和条件判断来实现认证和访问控制逻辑。例如,通过map提取cookie_ngxp中的用户名,判断$user_cookie$cookie_ngxp是否相等,提取user_cookie中的路径并检查请求 uri 是否与之匹配等。最终通过$user_authorized来确定用户是否授权访问。
阅读 59
0 条评论