Forum Discussion
eric_haupt1
Nimbostratus
Apr 01, 2019Checking for APM variable existence
I need a conditional action to populate some APM variables into headers. These variables are going to be client-ip, Cert Issuer, Cert Subject, F5-Session ID,F5-Session start time, Cert email. If the ...
eric_haupt1
Nimbostratus
Apr 01, 2019Ok... I think this is it.
when ACCESS_ACL_ALLOWED {
set var_issuer [ACCESS::session data get session.ssl.cert.issuer]
set var_subject [ACCESS::session data get session.ssl.cert.subject]
set var_upn [ACCESS::session data get session.custom.cert.upn]
set var_email [ACCESS::session data get session.custom.cert.email]
HTTP::header insert "X-F5-Forwarded-For" [IP::client_addr]
log local0. "X-F5-Forwarded-For [IP::client_addr]"
HTTP::header insert "X-F5-Session-ID" [ACCESS::session sid]
log local0. "X-F5-Session-ID [ACCESS::session sid]"
HTTP::header insert "X-F5-Session-Start" [ACCESS::session data get session.custom.start.time]
log local0. "X-F5-Session-Start [ACCESS::session data get session.custom.start.time]"
if { [info exists var_issuer] && ($var_issuer ne "") } {
HTTP::header insert "X-F5-Cert-Issuer" [ACCESS::session data get session.ssl.cert.issuer]
log local0. "X-F5-Cert-Issuer [ACCESS::session data get session.ssl.cert.issuer]" }
else { return }
if { [info exists var_subject] && ($var_subject ne "") } {
HTTP::header insert "X-F5-Cert-Subject" [ACCESS::session data get session.ssl.cert.subject]
log local0. "X-F5-Cert-Subject [ACCESS::session data get session.ssl.cert.subject]" }
else { return }
if { [info exists var_upn] && ($var_upn ne "") } {
HTTP::header insert "X-F5-Cert-UPN" [ACCESS::session data get session.custom.cert.upn]
log local0. "X-F5-Cert-UPN [ACCESS::session data get session.custom.cert.upn]" }
else { return }
if { [info exists var_email] && ($var_email ne "") } {
HTTP::header insert "X-F5-Cert-Email" [ACCESS::session data get session.custom.cert.email]
log local0. "X-F5-Cert-Email [ACCESS::session data get session.custom.cert.email]" }
else { return }
}
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