During migration from Exchange 2010 to Exchange 2016 and using Netscaler as loadbalancer I stumbled upon a situation when it was no more possible to change password in the 2010-OWA, you’d get an errormessage, everything else worked. This happened when we switched over (DNS records) to the Exchange 2016 OWA.

Exception Details
Message: ReferenceError: OwaOptionsUtil is not defined
Url: https://owa.domain.com/ecp/PersonalSettings/Password.aspx/emailadress@domain.com/

A Google search on “OwaOptionsUtil is not defined” did not give a single hit so I launched fiddler trying to see what was happening:

200 HTTPS owa.domain.com /ecp/PersonalSettings/Password.aspx/emailadress@domain.com/
302 HTTPS owa.domain.com /ecp/14.3.399.0/Scripts/owa.js
200 HTTP  Tunnel to owa.domain.com:443
200 HTTPS owa.domain.com /owa/

After some testing, it was obvious the Netscaler did something as it worked connecting directly to the 2010-OWA.

We had a content switching rule in the Netscaler matching “/owa” to redirect traffic from HTTP to HTTPS when users typed in “http://owa.domain.com” in the browser, but as seen in fiddler it also matches “/owa.js” which is called when changing password. There are several guidelines and examples on the net how to set up Exchange behind Netscaler and some of them present the same configuration as we had.

Use HTTP.REQ.URL.SET_TEXT_MODE(IGNORECASE).CONTAINS(“/owa/”) expression in the content switching policy, note “/owa/” vs “/owa”.