nginx-lint-parser 0.12.2

nginx configuration file parser
Documentation
# Basic authentication and access control
worker_processes auto;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        server_name admin.example.com;

        # Global basic auth
        auth_basic "Restricted Area";
        auth_basic_user_file /etc/nginx/.htpasswd;

        location / {
            root /var/www/admin;
            index index.html;
        }

        # Public area - no auth required
        location /public {
            auth_basic off;
            root /var/www/admin;
        }

        # API with different credentials
        location /api {
            auth_basic "API Access";
            auth_basic_user_file /etc/nginx/.htpasswd_api;
            proxy_pass http://127.0.0.1:8080;
        }

        # Subrequest authentication
        location /protected {
            auth_request /auth;
            auth_request_set $auth_status $upstream_status;
            proxy_pass http://127.0.0.1:8080;
        }

        location = /auth {
            internal;
            proxy_pass http://127.0.0.1:9000/validate;
            proxy_pass_request_body off;
            proxy_set_header Content-Length "";
            proxy_set_header X-Original-URI $request_uri;
        }
    }
}