Forum Discussion
Richard_Bedford
Jan 24, 2008Nimbostratus
HTTP 1.0/1.1, SSL, BigIP and Sharepoint <--BigIP noob...
Dear All,
I'm a BigIP noob and have been asked to look into an issue we have with the installation of our BigIPs. (note: I didn't do the install)
Setup:
BIG-IP 9.4.0 Build 517.5
Sharepoint Portal and Services 2003 SP2 running on W2K3 Server Enterprise SP2
IE7 client.
Client connects to BigIP virtual server over SSL.
BigIP forwards requests to IIS/Sharepoint via normal HTTP.
When going via the BigIP and trying to make changes to the website via the built-in 'edit' functions, everything seems to work until 'save' is pressed, then we get this error popup:
'Cannot retrieve properties at this time.' - followed by 'Cannot save your changes.'
If we go direct (over HTTP) to the Sharepoint server, it all works fine.
I've captured packets from wireshark and the only thing I can see different is that when the POST is via the BigIP it's posted as HTTP/1.0. When direct it's as HTTP/1.1
Q: Should this make a difference?
Q: Can I create an irule so that when posting data it's forced to post as HTTP/1.1?
TIA,
Richard B.
ps - off on my BigIP courses next week, but have been asked to look at this as a priority.
- hooleylistCirrostratusHi Richard,
- Richard_BedfordNimbostratusAfter much scratching of heads we came up with a solution to this problem. I don't think it actually 'fixes' the issue, but it's a workaround that works.
when HTTP_REQUEST { Read from persistence table which pool node the client previously connected to and set the IP_ADDR variable to the node IP address set IP_ADDR [session lookup uie [IP::client_addr]] Look for the 'POST' method - a client is posting data back to the portal if { [HTTP::method] equals "POST" } { If the client hasn't yet connected, let the LTM find a suitable node if {$IP_ADDR == ""} { Set the LTM pool to the 'SSL' enabled pool pool SPS_SSL_pool } else { If the client has previously connected, force the client back to the same node in the pool pool SPS_SSL_pool member $IP_ADDR 443 } } else { Not a 'POST'... Disable the LTM-to-server SSL profile (so LTM talks in the clear to IIS) SSL::disable serverside Select the HTTP only pool If the client hasn't yet connected, let the LTM find a suitable node if {$IP_ADDR == ""} { pool SPS_HTTP_pool } else { If the client has previously connected, force the client back to the same node in the pool pool SPS_HTTP_pool member $IP_ADDR 80 } } } when LB_SELECTED { Record in the persistence table which client is load balanced to which node in a pool session add uie [IP::client_addr] [LB::server addr] 1200 }
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