Forum Discussion
Skuba_85554
Nimbostratus
Aug 11, 2009bypassing client authentication
i've got a virtual server listening on 443 which uses both a certificate for SSL and also requires client authentication. this works fine
i've now been informed of another set of users who want to access the same site but don't want to have to authenticate (although they still want their sessions to be encrypted using SSL)
is there a way of making use of the same virtual server with an irule which determines from the uri whether or not they need to authenticate?
thanks
- hoolio
Cirrostratus
Hi Skuba, - Skuba_85554
Nimbostratus
hi - hoolio
Cirrostratus
That's pretty much what the wiki page example does. Just reverse the logic for the check of the URI. - Skuba_85554
Nimbostratus
would something like this do the trick? the clients would eventually go on to the same back end pool, don't know if i could just reference it once at the bottom? - hoolio
Cirrostratus
I think you could start with something like this:when CLIENTSSL_HANDSHAKE { if { [SSL::cert count] > 0 } { HTTP::release } } when HTTP_REQUEST { if {not ([HTTP::uri] starts_with "/abc/") } { if {[SSL::cert count] == 0} { HTTP::collect SSL::authenticate always SSL::authenticate depth 9 SSL::cert mode require SSL::renegotiate } } }
- Skuba_85554
Nimbostratus
hi aaron - hoolio
Cirrostratus
The clientssl profile you add to the virtual server should have client cert set to ignore and then the iRule dynamically requests (or requires) a client cert for specific URIs using the SSL:: commands. - Skuba_85554
Nimbostratus
it was the irule vs. client profile that was confusing me, but that makes sense now - Skuba_85554
Nimbostratus
aaron - hoolio
Cirrostratus
CLIENTSSL_HANDSHAKE is triggered when the clientside SSL handshake is completed. SSL::cert count returns the number of client certs in the request. If there is one or more certs, then the HTTP held from when HTTP::collect was called is released and the request continues.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects