Bug 511325 - ProxyPassReverse problem with parent directory listing
ProxyPassReverse problem with parent directory listing
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: httpd (Show other bugs)
10
All Linux
low Severity medium
: ---
: ---
Assigned To: Joe Orton
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-07-14 13:24 EDT by Eric Goirand
Modified: 2009-12-18 04:37 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-12-18 04:37:46 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Eric Goirand 2009-07-14 13:24:10 EDT
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 13:26:47 EDT
Created attachment 351640 [details]
/var/www/file directories to test the httpd configuration
Comment 2 Eric Goirand 2009-07-15 18:31:53 EDT
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 05:20:18 EDT
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 07:09:48 EST
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 04:37:46 EST
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.