Multiple vhosts with wildcards?

Hi

At the moment we’re using lighttpd, but its proving to be a little flaky
with php-fcgi. I’d like to know whether its possible to get the
following set-up working so I can replace lighttpd with nginx.

We use a lot of wildcard domains. The subdomains correspond to a
client, and they have their own areas:

review..ourdomain.com
mail.
.ourdomain.com
dev.*.ourdomain.com
*.ourdomain.com

This is pretty trivial to set up in lighttpd:

$HTTP[“host”] =~ “^review.(.).ourdomain.com" {}
$HTTP[“host”] =~ "^mail.(.
).ourdomain.com” {}
$HTTP[“host”] =~ “^dev.(.).ourdomain.com" {}
$HTTP[“host”] =~ "^(.
).ourdomain.com” {}

Trying to set up something similar in nginx raises problems. This is my
setup:

server {
server_name review.it.ourdomain.com review.*.ourdomain.com;

}

server {
server_name dev.it.ourdomain.com dev.*.ourdomain.com;

}

but this just throws the following error:

[emerg] 3320#0: invalid server name or wildcard “dev.*.ourdomain.com”

Any idea how I can achieve the result I’m looking for?

Phillip B Oldham
The Activity People
[email protected] mailto:[email protected]


Policies

This e-mail and its attachments are intended for the above named
recipient(s) only and may be confidential. If they have come to you in
error, please reply to this e-mail and highlight the error. No action
should be taken regarding content, nor must you copy or show them to
anyone.

This e-mail has been created in the knowledge that Internet e-mail is
not a 100% secure communications medium, and we have taken steps to
ensure that this e-mail and attachments are free from any virus. We must
advise that in keeping with good computing practice the recipient should
ensure they are completely virus free, and that you understand and
observe the lack of security when e-mailing us.

On Wed, Feb 20, 2008 at 09:46:23AM +0000, Phillip B Oldham wrote:

*.ourdomain.com

but this just throws the following error:

[emerg] 3320#0: invalid server name or wildcard “dev.*.ourdomain.com”

Any idea how I can achieve the result I’m looking for?

Use regex (note “~”):

server {
server_name review.it.ourdomain.com ~^review..+.ourdomain.com$;

}

Use regex (note “~”):

server {
server_name review.it.ourdomain.com ~^review..+.ourdomain.com$;

}

Cool, never knew that server_name supported regex. Didn’t see that in
the English wiki, just cross referencd it in the Russian docs

On Wed, Feb 20, 2008 at 09:39:11PM +0800, Yusuf Goolamabbas wrote:

Use regex (note “~”):

server {
server_name review.it.ourdomain.com ~^review..+.ourdomain.com$;

}

Cool, never knew that server_name supported regex. Didn’t see that in
the English wiki, just cross referencd it in the Russian docs

It had appeared in 0.6.7 and 0.5.33.