Browser Mixed Content Warnung

Zu den Möglichkeiten des NetScalers/ADC gehört es dynamisch Webseiten-Inhalte umschrieben zu können. Dies kann zum Beispiel sehr hilfreich sein, wenn eine unsichere HTTP Seite nach extern bereitgestellt werden soll via HTTPS, aber der Backend-Server weiterhin die HTTP-Anfragen ausliefert.  Hierdurch meldet der Browser eine Mixed Content Warning und die HTTP Links können ggf. nicht geladen werden.

 

Im vorliegenden Fall wurde eine Portalseite nach extern bereitgestellt via HTTPS mit SSL Offloading, 2 Faktor Authentifizierung und SingleSignOn in das Backend-System. Allerdings gab es im Quelltext der Webserver hart codiert HTTP Links zu Java-Scripts. Da HTTP von extern blockiert ist, konnten die Scripte nicht geladen werden und die Portal-Seite funktionierte nicht wie gewünscht.

 

 

Dies zu korrigieren kann eine einfache Rewriting Responder Regel:

add rewrite action rw_prof_rewrite_http replace_all "http.res.body(50000)" "\"https://\"" -pattern "http://"
add rewrite policy rw_pol_rewrite_http "http.res.body(50000).contains(\"http://\")" rw_prof_rewrite_http
bind lb vserver LB_vServer -policyName rw_pol_rewrite_http -priority 100 -gotoPriorityExpression END -type RESPONSE

 

 

Via GUI wird es so erstellt:

Erst die Rewrite Action erstellen:

  • Type: Replace_All
  • Expression to choose target location: http.res.body(50000)
  • Expression: "https://"
  • Pattern: http://

Dann die Rewrite Policy erstellen:

  • Action: die vorher angelegt Action
  • Expression: http.res.body(50000).contains("http://")

Anschließend die Policy auf dem entsprechenden LV vServer binden als Rewriting Responder Policy