Forum Discussion
HTTP/1.0 and HTTP/1.1 request.
Folks,
We have some application layer HTTP request which fails when done on the http/1.0 protocol. However, when this request is made on the http/1.1 protocol it works.
I am assuming that probably when the http/1.1 request is made to the virtual IP the virtual IP at the backend does a http/1.0 request to the real servers which fails. Is there any way I can force the virtual IP to make a http/1.0 request?
Also, how can I verify that indeed the virtual IP is making a http/1.0 request to the real servers?
any debug method which can be used here?
Thanks!! Nik
- Fred_Slater_856Historic F5 Account
A BIG-IP virtual server would not normally convert HTTP/1.1 to HTTP/1.0, but you can always verify what is going on using Wireshark or tcpdump.
- Stefan_Magnus_LNimbostratusHi Nik, I'm experiencing similar behaviour - it seems like big ip is convering some of the http/1.1 requests into http/1.0 request (mainly GET requests). Did you find a way to prevent this from happening or get an explanation from f5?
- Fred_Slater_856Historic F5 AccountStefan- Once you get past basic local troubleshooting, it is best to open a support case with F5 to resolve this type of problem so that your issue is tracked to resolution and any product deficiencies are recorded and acted upon in a timely fashion. -Fred
- Night_67217Historic F5 Account
So, if you have Caching enabled on that virtual server, then the behaviour is explainable: "When the Cache Setting feature (referred to as RAM Cache in BIG-IP versions prior to 11.0.0) is enabled on a virtual server, all server-side requests generated by that virtual server will use the HTTP/1.0 protocol. This also applies to server-side requests derived from an HTTP/1.1 client-side request; all HTTP/1.1 requests are rewritten to HTTP/1.0. A Connection: Keepalive header will be added to allow persistent server connections." http://support.f5.com/kb/en-us/solutions/public/10000/400/sol10480.html?sr=34761170
"Also, how can I verify that indeed the virtual IP is making a http/1.0 request to the real servers?" Tcpdump of something like: If you have SNAT:
-- tcpdump -nni 0.0:nnn -s0 '(host ClientIP and host VirtServIP) or (host SNAT_IP and host PoolMember)' -w /var/tmp/capture.pcap
If you don't have SNAT
-- tcpdump -nni 0.0:nnn -s0 host ClientIP -w /var/tmp/capture.pcap
After that, open the capture file in wireshark and you should be able to see the request on ClientSide and ServerSide of the BIGIP (since it's a full proxy) and see how the client behaves.
If you don't have caching and the client is coming on HTTP/1.0 and you want to switch it, see this discussion: https://devcentral.f5.com/questions/disable-http-10
- TortiAltostratustransformation from HTTP/1.1 to HTTP/1.0 is done, if cache is enabled (described in stefan's threat). transformation from HTTP/1.0 to HTTP/1.1 is done, if oneconnect is enabled.
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