[Dancer-users] strangeness with Dancer prefix and apache proxy

Puneet Kishor punk.kish at gmail.com
Sun Feb 5 22:23:56 CET 2012


On Feb 5, 2012, at 3:00 PM, Puneet Kishor wrote:

> I have the following in my apache2 conf file
> 
>    <VirtualHost *:80>
>        ServerName my.computer.edu
>        DocumentRoot "/path/to/Sites"
> 
>        <Proxy *>
>            Options FollowSymLinks MultiViews
>            AllowOverride All
>            Order allow,deny
>            allow from all
>        </Proxy>
> 
>        SetEnv force-proxy-request-1.0 1
>        SetEnv proxy-nokeepalive 1
>        ProxyPreserveHost On
> 
>        ProxyPass        /d/apps http://127.0.0.1:25012
>        ProxyPassReverse /d/apps http://127.0.0.1:25012
>    </VirtualHost>
> 
> When I go to http://my.computer.edu/d/apps/js/app.js the log shows
>    request: GET //js/app.js from 127.0.0.1 in ../Dancer/Handler.pm l. 52
> 
> When I go to http://127.0.0.1:25012/js/app.js the log shows 
>    request: GET /js/app.js from 127.0.0.1 in ../Dancer/Handler.pm l. 52
> 
> Why do I get to leading slashes in the first request above?
> 
> Additionally, when I go to http://my.computer.edu/d/apps I get a correct response (the double slashes notwithstanding). However, when I go to http://my.computer.edu/d/apps/foo then I get a 404. My perl code is like so
> 
>    package apps;
> 
>    use Dancer ':syntax';
>    use Dancer::Plugin::Database;
> 
>    load_app 'eb', prefix => '/foo';
> 


In fact, my second problem (404) is because of the first problem. Looking at the logs

    trying to match `//foo' against /(?^:^(?^:^\/foo(?:\/)?$)$)/ in ../Dancer/Route.pm l. 84

fails because of the double slash.

Suggestions?

--
Puneet Kishor




More information about the Dancer-users mailing list