【问题标题】:use wildcard in nginx configuration server name在 nginx 配置服务器名称中使用通配符
【发布时间】:2019-01-27 05:06:08
【问题描述】:

我想在 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

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

【问题讨论】:

标签: nginx configuration server-name


【解决方案1】:

对于以后的问题,你也可以看这里:

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(编程语言)所接受的相同。

【讨论】:

  • ~^www...之间的空格不正确,可能会导致类似[emerg] empty regex in server name "~"的错误
猜你喜欢
  • 2012-02-02
  • 2020-02-18
  • 2017-05-12
  • 2022-12-13
  • 1970-01-01
  • 2018-01-24
  • 2012-01-28
  • 2021-01-05
  • 1970-01-01
相关资源
最近更新 更多