Forum Discussion
Aaron_Tebo_7015
Nimbostratus
Aug 26, 2009proxypass irule
Hello,
I am using the irule for proxypass found on devcentral http://devcentral.f5.com/wiki/default.aspx/iRules/ProxyPass.html. This is half working for me but doesn't redirect. Currently when I go to www.abc.com/forum it doesn't give me the 404 error but it doesn't redirect either. No matter what I put in Data Group tab it just doesn't seem to do anything.
Basically what I want to do with it is redirect to another website but still look like the original one that the user went too. For example if a user goes to www.abc.com/forum I want it to redirect to www.myforumwebsite.com/myforum but still look like www.abc.com/forum. Any steps in the correct direction will be greatly appreciated.
Thanks,
Aaron
7 Replies
- hoolio
Cirrostratus
Hi Aaron,
The ProxyPass iRule will rewrite the host and/or URIs in requests before they're sent to the pool. The idea is that the client won't see the change as they would with an HTTP redirect.
Can you configure the iRule and datagroup according to the instructions in the Codeshare page, enable debug logging on the rule and then post your configuration and logs from /var/log/ltm if it doesn't work?
From what you've posted so far, I think a valid datagroup config entry would look like:
www.abc.com/forum www.myforumswebsite.com/myforum
You'd want to configure the www.myforumswebsite.com server(s) in a pool and add that pool to the virtual server.
Aaron - Aaron_Tebo_7015
Nimbostratus
Hi Aaron,
I didn't have www.myforumswebsite.com a member in the pool. That fixed it. Thanks for the quick response.
Aaron - hoolio
Cirrostratus
Good to hear.
Aaron - Aaron_Tebo_7015
Nimbostratus
Hello,
I am trying to capture the 404 error from the www.myforumswebsite.com/myforum but I always get the remote 404 error page. If I go to www.abc.com/doesnotexist I get the custom 404 error which I have pasted below. If go to www.abc.com/forum/doesnotexist I get the error page from the www.myforumswebsite.com server. I want it to use the custom one I have below. How do I get the irule to capture the other 404?
---- code ----
when RULE_INIT {
set error_404 {
404 File or Page Not Found[HTTP::status] Error
Page Not Found
The requested URL
was not found on this server.$HTTP_URI
}
}
when HTTP_REQUEST {
set HTTP_URI [HTTP::uri]
}
when HTTP_RESPONSE {
if { [HTTP::status] == 404 } {
HTTP::respond 404 content [subst $::error_404]
}
}
--code ---
Thanks,
Aaron - hoolio
Cirrostratus
Hi Aaron,
Can you enable debug on the proxy pass iRule and add logging to the 404 response handling iRule to see if the response status check is matching and the HTTP::respond command is being called?
Aaron - Aaron_Tebo_7015
Nimbostratus
I found the issue. It was working but the 404 error I was getting back was not a standard 404 error but a custom 404 html page. Is it possible to have the Irule search for text on a page that is loading? - hoolio
Cirrostratus
You would need to collect the response content of every response and then search for the custom 404 text. It would be a resource intensive effort. It would be much more efficient from the LTM perspective to change the server to send a 404 status code on page not found responses.
Aaron
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
