NginxProxyManager / nginx-proxy-manager

Docker container for managing Nginx proxy hosts with a simple, powerful interface
https://nginxproxymanager.com
MIT License
21.99k stars 2.53k forks source link

npm with vouch proxy #3596

Open Dialgatrainer02 opened 6 months ago

Dialgatrainer02 commented 6 months ago

Checklist

Describe the bug

proxy host goes offline when adding

auth_request /validate;
location / {
      proxy_pass http://app1.yourdomain.com:8080;
      #  may need to set
      #    auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
      #  in this bock as per https://github.com/vouch/vouch-proxy/issues/26#issuecomment-425215810
      # set user header (usually an email)
      proxy_set_header X-Vouch-User $auth_resp_x_vouch_user;
    }

Nginx Proxy Manager Version

To Reproduce Steps to reproduce the behavior:

  1. setup keycloak vouch proxy and npm
  2. Click on create a proxy host for an app that doesnt have oauth
  3. add

    auth_request /validate;
    location = /validate {
      # forward the /validate request to Vouch Proxy
      proxy_pass http://192.168.0.201:9090/validate;
    
      # be sure to pass the original host header
      proxy_set_header Host $http_host;
    
      # Vouch Proxy only acts on the request headers
      proxy_pass_request_body off;
      proxy_set_header Content-Length "";
    
      # optionally add X-Vouch-User as returned by Vouch Proxy along with the request
      auth_request_set $auth_resp_x_vouch_user $upstream_http_x_vouch_user;
    
      # these return values are used by the @error401 call
      auth_request_set $auth_resp_jwt $upstream_http_x_vouch_jwt;
      auth_request_set $auth_resp_err $upstream_http_x_vouch_err;
      auth_request_set $auth_resp_failcount $upstream_http_x_vouch_failcount;
    }
    
    # if validate returns `401 not authorized` then forward the request to the error401block
    error_page 401 = @error401;
    
    location @error401 {
        # redirect to Vouch Proxy for login
        return 302 https://vouch.olivia420.duckdns.org/login?url=$scheme://$http_host$request_uri&vouch-failcount=$auth_resp_failcount&X-Vouch-Token=$auth_resp_jwt&error=$auth_resp_err;
    }

    to the advances section and change the proxy pass accordingly

  4. proxy host goes offline

Expected behavior

a redirect to vouch proxy with the provided oauth provider

Screenshots

Operating System

using docker compose

Additional context