WildCard domains : how to treat IP Address and Specific Domains differently from Failover/Wildcard Domains ?
    Francis Daly 
    francis at daoine.org
       
    Sat Mar  2 00:43:57 UTC 2013
    
    
  
On Fri, Mar 01, 2013 at 03:20:10PM -0500, Jonathan Vanasco wrote:
Hi there,
> 	Requests for example.com
> 		Serve Site A
> 
> 	All IP Address Requests :
> 		Serve Site A
> 
> 	All other domains ( wildcard / failover )
> 		Serve Site B
> 
> I've tried several combinations of listen + server name, but I can't get this right.  I end up sending everything to site A or site B.  
You've seen http://nginx.org/en/docs/http/request_processing.html ?
And http://nginx.org/r/listen and http://nginx.org/r/server_name ?
You need the same "listen" ip:port in all servers -- simplest is to
leave it at the default.
The you need the correct "server_name" directives in the correct server{}
blocks.
B should be the default, so put it first:
    server {
      return 200 "site B\n";
    }
A should match the exact hostname example.com, and anything that is just
numbers and dots:
    server {
      server_name example.com;
      server_name ~^[0-9.]*$;
      return 200 "site A\n";
    }
Because of the default value of server_name, a request with no "host"
will match B. You can make it match A easily enough.
	f
-- 
Francis Daly        francis at daoine.org
    
    
More information about the nginx
mailing list