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