Fórum Root.cz
Hlavní témata => Server => Téma založeno: czechsys 07. 09. 2022, 10:46:02
-
Ahoj,
nema nekdo funckni konfiguraci rabbitmq proti AD/ldapu s bind uzivatelem, nejlepe proti samotne Samba AD?
Zkousel jsem:
https://www.rabbitmq.com/ldap.html
https://stackoverflow.com/questions/58970322/how-to-configure-rabbitmq-with-ldap-for-ad-groups apod.,
ale jediny vysledek i pres zapnute logovani network_unsafe je:
2022-09-07 10:22:07 =ERROR REPORT====
** Generic server <0.3216.0> terminating
** Last message in was {submit,#Fun<rabbit_auth_backend_ldap.14.130291405>,<0.3323.0>,reuse}
** When Server state == {from,<0.3323.0>,#Ref<0.1575869796.3397124098.189438>}
** Reason for termination ==
** {error,noSuchObject}
2022-09-07 10:22:07 =CRASH REPORT====
crasher:
initial call: worker_pool_worker:init/1
pid: <0.3216.0>
registered_name: []
exception exit: {{error,noSuchObject},[{gen_server2,terminate,3,[{file,"src/gen_server2.erl"},{line,1183}]},{proc_lib,wake_up,3,[{file,"proc_lib.erl"},{line,236}]}]}
ancestors: [ldap_pool_sup,rabbit_sup,<0.273.0>]
message_queue_len: 0
messages: []
links: [<0.3214.0>,<0.3324.0>]
dictionary: [{{parse_memo_table,rabbit_semver_parser},#Ref<0.1575869796.3397255169.196445>},{ldap_conns,#{{false,["DC1_FQDN","DC2_FQDN","DC3_FQDN"],[{timeout,10000},{log,#Fun<rabbit_auth_backend_ldap.12.130291405>},{port,636},{idle_timeout,300000},{anon_auth,false}]} => <0.3324.0>}},{timeouts,{dict,1,16,16,8,80,48,{[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]},{{[],[],[],[],[[{false,["DC3_FQDN","DC2_FQDN","DC1_FQDN"],[{timeout,10000},{log,#Fun<rabbit_auth_backend_ldap.12.130291405>},{port,636},{idle_timeout,300000},{anon_auth,false}]}|#Ref<0.1575869796.3397124097.196446>]],[],[],[],[],[],[],[],[],[],[],[]}}}},{worker_pool_worker,true},{rand_seed,{#{jump => #Fun<rand.3.47293030>,max => 288230376151711743,next => #Fun<rand.5.47293030>,type => exsplus},[157340505717612509|275064144784962344]}},{worker_pool_name,ldap_pool}]
trap_exit: false
status: running
heap_size: 2586
stack_size: 28
reductions: 187199
neighbours:
neighbour: [{pid,<0.3324.0>},{registered_name,[]},{initial_call,{erlang,apply,2}},{current_function,{eldap,loop,2}},{ancestors,[]},{message_queue_len,0},{links,[<0.3216.0>]},{trap_exit,false},{status,waiting},{heap_size,987},{stack_size,6},{reductions,15336},{current_stacktrace,[{eldap,loop,2,[{file,"eldap.erl"},{line,517}]}]}]
2022-09-07 10:22:07 =SUPERVISOR REPORT====
Supervisor: {local,ldap_pool_sup}
Context: child_terminated
Reason: {error,noSuchObject}
Offender: [{pid,<0.3216.0>},{id,1},{mfargs,{worker_pool_worker,start_link,[ldap_pool]}},{restart_type,transient},{shutdown,4294967295},{child_type,worker}]
2022-09-07 10:22:07 =CRASH REPORT====
crasher:
initial call: cowboy_stream_h:request_process/3
pid: <0.3323.0>
registered_name: []
exception exit: {{{error,noSuchObject},{gen_server2,call,[<0.3216.0>,{submit,#Fun<rabbit_auth_backend_ldap.14.130291405>,<0.3323.0>,reuse},infinity]}},[]}
ancestors: [<0.3322.0>,<0.3101.0>,<0.3100.0>,rabbit_web_dispatch_sup,<0.3089.0>]
message_queue_len: 0
messages: []
links: [<0.3322.0>]
dictionary: []
trap_exit: false
status: running
heap_size: 6772
stack_size: 28
reductions: 5148
neighbours:
2022-09-07 10:22:07 =ERROR REPORT====
Ranch listener {acceptor,{0,0,0,0,0,0,0,0},15672}, connection process <0.3322.0>, stream 1 had its request process <0.3323.0> exit with reason {{error,noSuchObject},{gen_server2,call,[<0.3216.0>,{submit,#Fun<rabbit_auth_backend_ldap.14.130291405>,<0.3323.0>,reuse},infinity]}} and stacktrace []
Coz je spanelska vesnice, ktera se neda debugovat...
Diky
-
dostal jsi návratovou hodnotu noSuchObject (to je chybová hláška ldapu), takže asi máš špatně vyplněné údaje pro AD
-
Tak to je jediny, co vim. Kdyz mi to ale nevypise ani ldap dotazy, tak vim stejne nic...
-
podle callstacku to spadlo při bindu, tj. nespíš samotný bind user. A trace logy ti více neřeknou? Nemáš logy z Samby AD? Tam bude na co se dotazoval.
Pokud chceš konkrétní radu, ukaž jak vypadá tvoje konfigurace a jak vypadá výstup třeba z ldapsearch na bind usera.
Nebo si mezi rabbita a ldap dej nějakou logující proxy.
-
Tu puvodni konfiguraci jsem smazal a napsal ji uplne znova (copy-paste z dokumentace a odstranovani zejmena v advanced.config pri porovnani zakladnich konfiguraci ze stackoverflow apod.), ten bind se na prvni pokus chytnul. Nesikovne je, ze aby clovek videl ty LDAP dotazy, tak nejenze musi zapnout to logovani, ale musi i prepnout na debug cely rabbit. A nemoznost reloadu konfigurace taky neni nejstastnejsi reseni.
Kazdopadne vyreseno pro zakladni vyuziti.
-
Tu puvodni konfiguraci jsem smazal a napsal ji uplne znova (copy-paste z dokumentace a odstranovani zejmena v advanced.config pri porovnani zakladnich konfiguraci ze stackoverflow apod.), ten bind se na prvni pokus chytnul. Nesikovne je, ze aby clovek videl ty LDAP dotazy, tak nejenze musi zapnout to logovani, ale musi i prepnout na debug cely rabbit. A nemoznost reloadu konfigurace taky neni nejstastnejsi reseni.
Kazdopadne vyreseno pro zakladni vyuziti.
rabbitmq umožňuje ldap konfiguraci aplikovat runtime, např. přes rabbitmqctl eval, není potřeba kvůli tomu otáčet proces. Jinak, to že neumí reload konfigurace je omezení návrhu, mají fronty v paměti v rámci těch instancí, které tu konfiguraci používají, něco se dá měnit přes runtime, třeba ten ldap.