Bug 511325 - ProxyPassReverse problem with parent directory listing
Summary: ProxyPassReverse problem with parent directory listing
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: httpd
Version: 10
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Joe Orton
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-07-14 17:24 UTC by Eric Goirand
Modified: 2009-12-18 09:37 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-12-18 09:37:46 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
/var/www/file directories to test the httpd configuration (290 bytes, application/octet-stream)
2009-07-14 17:26 UTC, Eric Goirand
no flags Details

Description Eric Goirand 2009-07-14 17:24:10 UTC
Description of problem:

I'm trying to configure a reverse proxy http://intranet.url where http://intranet.url/file go to intranet server http://file.url and
file.url is set up to provide directory listings.

When accessing http://intranet.url/file/a/a1 and clicking on the "Parent Directory" link, the URL is not remapped by proxypassreverse correctly and returns http://intranet.url/a/ instead of http://intranet.url/file/a/

Version-Release number of selected component (if applicable):

I'm using httpd-2.2.11-2.fc10.x86_64 for both intranet.url et file.url

How reproducible:

Always

Steps to Reproduce:
1. set up virtual host intranet.url and file.url in your httpd.conf
<VirtualHost *:80 >
    ServerName intranet.url
    ServerAlias intranet

    ProxyRequests off
    RewriteEngine on

    <Proxy *>
       Order deny,allow
       Allow from all
    </Proxy>

    RewriteRule ^/file$ file/ [R]
    ProxyPass /file/ http://file.url/
    ProxyPassReverse /file/ http://file.url/

    ErrorLog logs/error_intranet.url.log
    SetOutputFilter     INFLATE;proxy-html;DEFLATE
</VirtualHost>

<VirtualHost *:80>
    ServerName  file.url
    ServerAlias file

    DocumentRoot "/var/www/file"
    <Directory "/var/www/file" >
        AllowOverride None
        Options Indexes FollowSymLinks
        IndexOptions Charset="UTF-8" NameWidth=*
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog logs/error_file.url.log
    SetOutputFilter DEFLATE
</VirtualHost>

2. edit your /etc/hosts to add intranet.url and file.url to your local ip or localhost entry

3. extract file.tjz as tar tvjf file.tjz in /

3. take your browser and point to http://intranet.url/a/a1 and try to click on the "Parent Directory" link, it should not be correct
  
Actual results:

the URL on the "Parent Directory" link is not correct when using ProxyPassReverse

Expected results:

the URL on the "Parent Directory" link should be rewrited correctly by ProxyPassReverse


Additional info:
I put in attachment file.tjz which contains /var/www/file/* elements

Comment 1 Eric Goirand 2009-07-14 17:26:47 UTC
Created attachment 351640 [details]
/var/www/file directories to test the httpd configuration

Comment 2 Eric Goirand 2009-07-15 22:31:53 UTC
I may have an explanation of the current behavior.

When we look at the generated code by mod_autoindex, it seems that the directory elements links are generated with relative URLs. However, when I look at the "Parent Directory" link, it is generated as an absolute URL.

In the mod_proxy documentation, It says "Only the HTTP response headers specifically mentioned above will be rewritten. Apache will not rewrite other response headers, nor will it rewrite URL references inside HTML pages. This means that if the proxied content contains absolute URL references, they will by-pass the proxy."

From this, I understand that the "Parent Directory" link will not be modified as it is composed of an absolute URL.

Q1 : Would it be possible that mod_autoindex generates "Parent Directory" links as relative links ?

Q2 : In the mod_proxy documentation, they suggest to use another module mod_proxy_html, are there any plans to include it in Fedora releases ?

Comment 3 Eric Goirand 2009-07-16 09:20:18 UTC
I tested my configuration with mod_proxy_html (http://apache.webthing.com/mod_proxy_html) by adding the two following lines in the intranet.url virtual host :
    ProxyHTMLURLMap http://file.url/ /file
    ProxyHTMLURLMap / /file/

And the problem is solved completely.
However, if you have any answers to the 2 previous questions, that would be nice, thanks. If not, just close the ticket.

Comment 4 Bug Zapper 2009-11-18 12:09:48 UTC
This message is a reminder that Fedora 10 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 10.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '10'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 10's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 10 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Bug Zapper 2009-12-18 09:37:46 UTC
Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.