Forum Discussion
35 Replies
- Cory_50405Noctilucent
Yes.
The Host request-header field specifies the Internet host and port number of the resource being requested, as obtained from the original URI given by the user or referring resource (generally an HTTP URL,
as described in section 3.2.2). The Host field value MUST represent the naming authority of the origin server or gateway given by the original URL. This allows the origin server or gateway to differentiate between internally-ambiguous URLs, such as the root "/" URL of a server for multiple host names on a single IP address.
Host = "Host" ":" host [ ":" port ] ; Section 3.2.2
A "host" without any trailing port information implies the default port for the service requested (e.g., "80" for an HTTP URL). For example, a request on the origin server for http://www.w3.org/pub/WWW/ would properly include:
GET /pub/WWW/ HTTP/1.1 Host: www.w3.org
A client MUST include a Host header field in all HTTP/1.1 request messages . If the requested URI does not include an Internet host name for the service being requested, then the Host header field MUST be given with an empty value. An HTTP/1.1 proxy MUST ensure that any request message it forwards does contain an appropriate Host header field that identifies the service being requested by the proxy. All Internet-based HTTP/1.1 servers MUST respond with a 400 (Bad Request) status code to any HTTP/1.1 request message which lacks a Host header field.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
- afedden_1985Cirrus
I noticed you have an extra \r after your HTTP/1.1\r\nHost ? I'm not sure if that matters but we don't have that in our working strings.
- KareemNimbostratus
So In this - GET /pub/WWW/ HTTP/1.1 Host: www.w3.org
should the host name, www.w3.org be the real server's dns name or the VIP that points to the load balanced servers ? like maximo.company.com or server.company.com ?
- Cory_50405Noctilucent
It should be for the content that the server is hosting. If the client accesses maximo.company.com, then that's what the host string in your monitor should be.
- afedden_1985Cirrus
it depends what the servers trust. This curl command with your servers IP should work if you send from the F5 CLI curl -v -k -G --header "host:maximo.company.com" http://10.x.x.x/maximo/webclient/login/login.jsp
a good response will look similar to this < HTTP/1.1 200 OK < content-length: 180 < content-type: text/html < date: Fri, 28 Dec 2012 18:52:04 GMT < last-modified: Fri, 28 Dec 2012 16:42:32 GMT < p3p: CP="NON CUR OTPi OUR NOR UNI"
- KareemNimbostratus
how does the nodes behind the BIGIP know to respond to the VIP dns name, maximo.company.com ? Does the nodes need to be configured to respond to the VIP dns name ? You know when a request comes into the BIGIP from a client, the BIGIP source NATs the clients IP and the server does not know the iP of the original client. The nodes only sees the BIGIPs selfIP. The Nodes do not communicate directly with the client.
- Cory_50405Noctilucent
The BIG-IP is acting on behalf of the client. The client makes a request to the BIG-IP, thinking it's the actual server. The BIG-IP then requests the content from the backend server as if it's the client.
Your server will need to be configured to respond to the FQDN in question.
- KareemNimbostratus
Yes, that's what I thought. Thanks.
Also, When BIGIP makes a request on behalf on the client, does it normally use the original VIP's dns name or it uses the nodes' dns names or ip addresses ?
- Cory_50405Noctilucent
The BIG-IP sends traffic to pool members or nodes by IP address. Traffic between the BIG-IP and the pool members happens over a brand new connection independent of the client connection to the virtual server.
- KareemNimbostratus
I mean for health checks. What does BIGIP use ?