server_name "";

Igor Sysoev igor at sysoev.ru
Sat Dec 19 20:03:23 MSK 2009


On Sat, Dec 19, 2009 at 10:59:39AM -0500, Sean Allen wrote:

> On Fri, Dec 18, 2009 at 8:38 PM, merlin corey <merlincorey at dc949.org> wrote:
> > On Fri, Dec 18, 2009 at 3:04 PM, Sean Allen <sean at monkeysnatchbanana.com> wrote:
> >> On Fri, Dec 18, 2009 at 5:51 PM, Peter Leonov <gojpeg at gmail.com> wrote:
> >>> On 19.12.2009, at 1:14, Sean Allen wrote:
> >>>
> >>>> we are running 0.7.64
> >>>>
> >>>> have this as a server:
> >>>>
> >>>> server
> >>>> {
> >>>>     server_name "";
> >>>>
> >>>>     location /
> >>>>     {
> >>>>         return 404;
> >>>>     }
> >>>> }
> >>>>
> >>>> when we try to startup we get:
> >>>>
> >>>>  [emerg]: the first server name must not be empty in
> >>>> /ah/conf/nginx/default_server.conf:4
> >>>>
> >>>> wiki says:
> >>>>
> >>>> Since nginx 0.7.12, an empty server name is supported, to catch the
> >>>> requests without "Host" header:
> >>>>
> >>>> server {
> >>>>  server_name "";
> >>>> }
> >>>
> >>> We use the underscore + listen default.
> >>>
> >>> server
> >>> {
> >>>        server_name _;
> >>>        listen 80 default;
> >>>        location / { return 404; }
> >>> }
> >>>
> >>
> >> That works except, it is getting blocked by another and I'm not sure why.
> >> I'm doing this on a local network right now and m.example.com is 192.16.8.1.125
> >> if m.example.com is setup then this doesn't get used.
> >>
> >> m.example.com has:
> >>
> >> server
> >> {
> >>    listen m.example.com;
> >>    server_name m.example.com;
> >> }
> >>
> >> So from the wiki,
> >> if I do a request not to m.example.com but 192.168.1.125
> >> shouldnt the listen 80 default server block be the one that handles
> >> the response?
> >>
> >> _______________________________________________
> >> nginx mailing list
> >> nginx at nginx.org
> >> http://nginx.org/mailman/listinfo/nginx
> >>
> >
> > FYI Igor's latest documents at:
> > http://nginx.org/en/docs/http/request_processing.html suggest the
> > following configuration:
> >
> > server {
> >    listen       80  default_server;
> >    server_name  _;
> >    return       444;
> > }
> >
> > You will note that now we use default_server, the server_name _, and
> > no need for a location to hold the return code.
> 
> I'm running 0.7.64 and after switching 'default_server' to default per
> the wiki doc you referenced,
> this still doesnt work. It doesnt respond as the default server
> 
> i have
> 
> m.example.com is still answering when you
> 
> wget http://192.168.1.125/

Have you looked this:
http://nginx.org/en/docs/http/server_names.html#miscellaneous_names
http://nginx.org/en/docs/http/request_processing.html


-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list