2

I have an externally started FastCGI application that listens on socket '/tmp/foo.sock' and a directory of static files in '/srv/static'. Apache has all needed permissions on the socket and the directories.

What I need : All requests starting with '/static' should be handled by apache using the contents of '/srv/static'. All other requests should be handled by the FastCGI application. Here is my current virtual host configuration:

<VirtualHost *:80>
        ServerAdmin foo@bar.com
        ServerName www.foo.com
        ServerAlias foo.com

        Alias /static /srv/static

        FastCgiExternalServer /* -socket /tmp/foo.sock    

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

</VirtualHost>

Even though this seems simple, its giving me quite the headache. According to http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html#FastCgiExternalServer the first parameter to 'FastCgiExternalServer' should be a 'filename' that when matched will cause apache to delegate the request to the external FastCGI app. What am I missing here?

Thiago Padilha
  • 299
  • 1
  • 5
  • 10

2 Answers2

0

According to the FastCGI FAQ, change the FastCgiExternalServer line to the belows

FastCgiExternalServer /srv/static -socket /tmp/foo.sock 

and try again.

quanta
  • 51,413
  • 19
  • 159
  • 217
0

The first argument to FastCgiExternalServer is supposed to be some file name that will redirect. It doesn't have to exist. It doesn't say that a wildcard is supported. I don't think that using /srv/static is the right answer, you want that handled by Apache.

mcr
  • 233
  • 1
  • 10