Forum Discussion
Login forms are not displaying after changing http to https
Hi All,
I am trying to configure https on my vip and seems login forms are not displaying on changing to vip port to https. If it is http, it works perfectly.
Not working:
VIP: remote.local:443
Pool: 10.12.14.1:8080, 10.12.14.2:8080
working:
VIP: remote.local:80
Pool: 10.12.14.1:8080, 10.12.14.2:8080
Anybody faced same problem? Any solutions, suggestions??
-Jinshu
6 Replies
- Kevin_Stewart
Employee
Just spitballing, but do you have a client SSL profile applied to the 443 VIP?
- Kevin_Stewart
Employee
Is the client SSL working?
Where does it fail?
Do you see traffic on the server side of the F5?
How does it fail? Do you see some of the content, or nothing at all?
- Kevin_Stewart
Employee
Okay, so if you're seeing some content, there's a very good chance that you're experiencing what I call "the proxy effect". Basically, an HTTP request is generally a method (GET, POST), a URL path, and then a bunch of headers. An HTTP response is a status (200 OK), some headers, and then some payload. Inside that payload, and in some cases inside headers, URLs are either presented as relative (ex. /images/mycat.png) or absolute (ex. http://test.domain.com/images/mycat.png). Since you're virtualizing the application with a proxy server, and in this case actually changing the scheme, there's a very real possibility that the server isn't aware of this and is presenting absolute URLs to the client that reflect what it thinks is the correct address. In other words, if it worked with HTTP but now fails partially with HTTPS, there's a very good chance that the HTML content the client is receiving contains URL references to HTTP:// content, which are now not accessible. The VERY BEST way to troubleshoot this is to first understand what's breaking. And to do that you need a client side capture utility like Fiddler or HTTPWatch to observe the HTTP traffic from the client's perspective. If in the capture you see the browser try (and fail) to access an HTTP:// resource, it's a fair bet that some previous response contained that bad URL. If you know where it's coming from, you'll be able to effectively fix it with an iRule.
- Kevin_Stewart
Employee
Payload data is pretty commonly manipulated with a STREAM iRule:
https://devcentral.f5.com/wiki/iRules.STREAM__expression.ashx
- Jinshu
Cirrus
Thanks Kevin.. It is working now..!!!!! I have used below irule to allow insecure content for http refereces and enabled stram profile in the VS.
when HTTP_REQUEST { Save the requested host value set host [string tolower [HTTP::host]] If the HTTP host header is blank, use the VS IP address If the VS IP is not routable for clients, hard code a routable IP to replace [IP::local_addr] if {$host eq ""}{set host [IP::local_addr]} Disable the stream filter by default STREAM::disable } when HTTP_RESPONSE { Check if response type is text and host isn't null if {[HTTP::header value Content-Type] contains "text" and $host ne ""}{ Replace http://$host with https://$host STREAM::expression "@http://$host@https://$host@" Enable the stream filter for this response only STREAM::enable } Rewrite the Location header in redirects to https:// if { [HTTP::is_redirect] && [string tolower [HTTP::header Location]] starts_with "http://$host"} { HTTP::header replace Location [string map -nocase "http://$host https://$host" [HTTP::header Location]] } } - Jinshu
Cirrus
Hello,
I have used above irule for http to https issue but now facing a new problem. The application hosted behind sees the request url as http:// and it tries to respond back accordingly causing the problem.
I have captured TCPDUMP and found there is a field full request URI mentioning http://
Can I get this replaced with irule?
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
* 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
