LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Server (http://www.linuxquestions.org/questions/linux-server-73/)
-   -   apache rewrite proxy problem (http://www.linuxquestions.org/questions/linux-server-73/apache-rewrite-proxy-problem-910045/)

deesto 10-25-2011 09:36 AM

apache rewrite proxy problem
 
I'm trying to convert some static reverse ProxyPass rules into a rewrite with regex (since ProxyPass doesn't support much regex).

I'd like to convert URL requests for /myurl/path1/path2/* to be proxied to:
http://www.example.com/dir1/dir2/path1-path2/*

So I try:
Code:

RewriteRule ^/myurl/(\w+)/(\w+)/(.*)$ http://www.example.com/dir1/dir2/$1-$2/$3

When I try a /myurl/etc. request in a browser, I don't get an error, I don't see anything in the apache logs except for a rewrite proxy pass to the proper back-end, but in the browser, I get an error, and it's trying to connect to the back-end but can't:

Server not found
Firefox can't find the server at www.example.com.


The target URL on the destination host is definitely reachable via the proxy host (tested via wget). Am I screwing up something in the regex?

acid_kewpie 10-25-2011 10:05 AM

if you want to stick with mod_proxy the you can use regexes just fine with ProxyPassMatch

as for the rewrite, are you getting a 302 back from it? what does it say? firebug or a few "curl -v"s are your friends.

deesto 10-25-2011 10:49 AM

Quote:

Originally Posted by acid_kewpie (Post 4507727)
if you want to stick with mod_proxy the you can use regexes just fine with ProxyPassMatch

Thanks Chris. If I can get regex working eventually, I'll probably stick with a rewrite, unless there's a good reason to move to PPM?

Quote:

as for the rewrite, are you getting a 302 back from it? what does it say? firebug or a few "curl -v"s are your friends.
A browser request to a desired URL returns a 404. The resultant server error message is :
File does not exist: /var/www/html/myurl
The corresponding server rewrite entry is:
(1) pass through /myurl/dir1/dir2

A wget from the proxy server itself to a target URL completes successfully. So there must be a screw-up in the regex rule?

deesto 10-26-2011 11:00 AM

This turned out not to be a regex problem at all (that part was actually correct), but the dreaded 'trailing slash' problem. Once I added another rewrite before this one to turn a directory request not ending with `/` to include the `/`, this worked fine.


All times are GMT -5. The time now is 11:36 AM.