Sorry, I didn't answer the question you actually asked... it would probably
require a low-level intervention in the MarkLogic code to change what gets
written to the access log, no clue about that.
Sorry but would be interested to learn there is a solution,
David
On Fri, 5 Jun 2015, David Sewell wrote:
> xdmp:get-request-header("X-Forwarded-For") ought to do it (if the HTTP server
> is
> creating a header with just that spelling; that's what Apache does).
>
> We have a function we use to determine the actual source IP address that you
> might be able to use or adapt:
>
> (:~
> : Ascertain IP address masked by Apache rewrites.
> :
> : @return The actual client address.
> :)
>
> declare function user:get-actual-client-address() as xs:string {
> let $apparentIP := xdmp:get-request-client-address()
> let $forwardedFrom := xdmp:get-request-header("X-Forwarded-For")
> return
> if ((exists($forwardedFrom)) and ($apparentIP eq '127.0.0.1'))
> then tokenize($forwardedFrom, ', ')[last()]
> else $apparentIP
> };
>
> David
>
> On Fri, 5 Jun 2015, Danny Sinang wrote:
>
>> Our ML cluster is behind a load balancer, so the source ip address of the
>> ML access logs show the load balancer's IP address.
>>
>> I'm told that the load balancer injects into the http request header the
>> actual client ip address as "x-forwarded-for".
>>
>> Is there a way to make ML display the contents of this x-forwarded-for
>> field ?
>>
>> Regards,
>> Danny
>>
>
>
--
David Sewell, Editorial and Technical Manager
ROTUNDA, The University of Virginia Press
PO Box 400314, Charlottesville, VA 22904-4314 USA
Email: [email protected] Tel: +1 434 924 9973
Web: http://rotunda.upress.virginia.edu/
_______________________________________________
General mailing list
[email protected]
Manage your subscription at:
http://developer.marklogic.com/mailman/listinfo/general