Forum Discussion
This bit of Ajax is sending a POST request to the HTTP VIP and getting redirected to the HTTPS VIP by the iRule. The redirect itself changes the POST to a GET, which ultimately breaks the request. So now that you've found where the HTTP reference is being set, you can begin to try to exploit one of the two options above:
-
Troubleshoot the STREAM profile so that it properly rewrites this link.
-
Modify your redirect iRule to issue a 307 instead of a 302.
My recommendation is to troubleshoot the STREAM profile. The 307 is not guaranteed to work for all browsers. If you choose option 1, carefully watch the request and response (with a client side capture) of the URL that sends this reference. Does this URL meet the requirements of the HTTP_RESPONSE condition (ie. Content-Type header contains the word "text")?
when HTTP_REQUEST {
STREAM::disable
HTTP::header remove "Accept-Encoding"
}
when HTTP_RESPONSE {
if {[HTTP::header value Content-Type] contains "text"}{
STREAM::expression {@http://@https://@}
STREAM::enable
}
}