Forum Discussion
serebra_83282
Nimbostratus
Jul 09, 2009ProxyPass problem
Greetings,
I followed the instruction on http://devcentral.f5.com/wiki/default.aspx/iRules/ProxyPass to set up ProxyPass and got problem.
In browser, it said:
Connection Interrupted
The connection to the server was reset while the page was loading.
The network link was interrupted while negotiating a connection. Please try again.
In Big-IP log /var/log/ltm, it said:
Jul 8 16:46:24 tmm tmm[1577]: 01220001:3: TCL error: ProxyPass - beta while executing "virtual name"
Here are the configurations:
virtual beta {
pool betapool
destination 172.16.0.24:http
ip protocol tcp
rules ProxyPass
profiles
http
oneconnect
tcp
}
class ProxyPassbeta {
" www.site1.com/support www.site2.com/support"
}
BIG-IP 9.4.3 Build 1.4
Idea?
Thank you!
- hoolio
Cirrostratus
You could try replacing instances of [virtual name] with [virtual]. I thought in 9.4.0+ the two were synonymous. - serebra_83282
Nimbostratus
Yes, it fixes the problem by replaceing [virtual name] with [virtual]. - serebra_83282
Nimbostratus
I added stream profile to the virtual machine (beta), - hoolio
Cirrostratus
So you're trying to rewrite client requests made to www.site1.com/support to www.site2.com/support? It looks like you made a request for www.site1.com/support/, it was rewritten to www.site2.com/support/, it was sent to the beta and the server responded with a 404 - Not Found error. Does /support/ exist on the server set up to listen for www.site2.com requests? If you make a request direct to the server for www.site2.com/support/ does the page exist? - serebra_83282
Nimbostratus
Yes, That is our goal to rewrite client requests made to www.site1.com/support proxy to www.site2.com/support - hoolio
Cirrostratus
It looks like there might be a slight issue with the ProxyPass iRule's use of 'HTTP::header replace'. Can you find this line:HTTP::header replace Host: $host_serverside
HTTP::header replace Host $host_serverside
HTTP::header replace $header: $protocol$host_clientside$path_clientside[substr $server_path [string length $path_serverside]]
HTTP::header replace $header $protocol$host_clientside$path_clientside[substr $server_path [string length $path_serverside]]
- serebra_83282
Nimbostratus
OK, I have made change as you mentioned. Tested it, the error is still same as before (Error 404 - File or directory not found). - hoolio
Cirrostratus
Can you add another HTTP_REQUEST event to log the value of the host header and URI without the effect of command caching?when HTTP_REQUEST priority 501 { log local0. "$log_prefix: Current Host header value: [HTTP::host], URI: [HTTP::uri]" }
- hoolio
Cirrostratus
I think using 'HTTP::header replace header_name: header_value' will work if a header name of header_name already exists. If it doesn't then a broken header is inserted: - serebra_83282
Nimbostratus
I added “HTTP_REQUEST priority 501” as you suggested, and also used 'HTTP::header replace header_name: header_value' to replace 'HTTP::header replace Host $host_serverside',but we still got same error as before.
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