Behavior of server depends on a file name

Gregor Jurgele gregor.jurgele at gmail.com
Fri Sep 12 17:24:12 MSD 2008


Dave, Igor, thank you both for your prompt replies.

Does a web server have to have a default site defined? The thing is, if I do
not explicitly declare a default site and leave all my files as they are,
meaning the included file is named www.bona-a.com (or www.bona-b.com ...
www.bona-d.com), then the www.bona-a.com site becomes the default site. If I
access f.e. mail.bona-a.com I receive the www.bona-a.com web page. But if I
name the above file www.bona-e.com or www.bona.com, then suddenly there is
no default site and I receive 403 Forbidden if I try to access f.e.
mail.bona-a.com. So a change from letter a to e in a file name
www.bona-a.com changes the behavior of the server from "default web site
defined" to "default web site not defined".

Regards,

Gregor

On 9/12/08, Igor Sysoev <is at rambler-co.ru> wrote:
>
> On Fri, Sep 12, 2008 at 10:59:47AM +0200, Gregor Jurgele wrote:
>
> > I would like to run a few virtual sites on one IP on nginx 0.6.32
> compiled
> > from source as Debian package on Debian Etch.
> >
> > My nginx.conf contents are:
> >
> > user www-data;
> > worker_processes  1;
> >
> > error_log  /var/log/nginx/error.log;
> > pid        /var/run/nginx.pid;
> >
> > events {
> >     worker_connections  1024;
> > }
> >
> > http {
> >     include       /etc/nginx/mime.types;
> >     default_type  application/octet-stream;
> >
> >     access_log  /var/log/nginx/access.log;
> >
> >     sendfile        on;
> >     #tcp_nopush     on;
> >
> >     #keepalive_timeout  0;
> >     keepalive_timeout  65;
> >     tcp_nodelay        on;
> >
> >     gzip  on;
> >
> >     server_tokens     off;
> >
> >     include /etc/nginx/conf.d/*.conf;
> >     include /etc/nginx/sites-enabled/*;
> > }
> >
> > My virtual site file (www.bona-a.com) contents are:
> >
> > server {
> >         listen   80;
> >         server_name  www.bona-a.com;
> >
> >         access_log  /var/log/nginx/www.bona-a.com.access.log;
> >
> >         location / {
> >                 root   /var/www/www.bona-a.com;
> >                 index  default.html default.htm index.html index.htm;
> >         }
> >
> >         # pass the PHP scripts to FastCGI server listening on
> 127.0.0.1:9000
> >         #
> >         #location ~ \.php$ {
> >                 #fastcgi_pass   127.0.0.1:9000;
> >                 #fastcgi_index  index.php;
> >                 #fastcgi_param  SCRIPT_FILENAME
> > /scripts$fastcgi_script_name;
> >                 #includefastcgi_params;
> >         #}
> > }
> >
> > If I name a file or symbolic link in /etc/nginx/sites-enabled/, that
> holds
> > the information for a virtual site, www.bona-a.com, this site becomes a
> > catch-all site, answering all requests that go to the same ip and do not
> > match any of the sites defined in other files in
> /etc/nginx/sites-enabled/.
> >
> > Same is if I replace -a with - followed by any letter between b and d
> > (including). If I name the file www.bona-e.com or www.bona.com,
> everything
> > works fine and i get 403 Forbidden as a reply.
> >
> > What am I doing wrong?
>
>
> nginx does not sort include'd files, so the best way is to define default
> site before the include.
>
>
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20080912/b26c8de9/attachment.html>


More information about the nginx mailing list