1

我想在 nginx 配置服务器名称中使用通配符

例子)

server_name m.*.domain.com;

但它显示

nginx: [emerg] invalid server name or wildcard "m.*.domain.com" on 0.0.0.0:80
nginx: configuration file /etc/nginx/nginx.conf test failed

有没有办法解决这个问题?

4

1 回答 1

2

对于未来的问题,您也可以在这里查看:

http://nginx.org/en/docs/http/server_names.html

nginx 中的通配符以.example.com 或 www.example 的方式被接受。,但不在 www.*.example.com 或 www.*example.com 中,这些都是无效的。

你可以做的是使用这样的正则表达式:

server_name ~^www\..+\.example\.org$

或者

server_name ~^w.*\.example\.org$

在你的情况下是这样的:

server_name ~^m.*\.domain\.com$

请记住,正则表达式与 Perl(编程语言)所接受的相同。

于 2018-08-21T15:00:12.227 回答