nginx server_name 正则表达式

Mor*_*ool 5 nginx

nginx 中的 server_name 不匹配

我想与我想出的此类 FQDN 相匹配

server_name "~^(www.)?ucwebapi-uccore(\d{0,3})-(\d{0,3})\.testme\.net";
Run Code Online (Sandbox Code Playgroud)

匹配

ucwebapi.testme.net
ucwebapi-uccore.testme.net
ucwebapi-uccore1-0.testme.net
ucwebapi-uccore999-999.testme.net
Run Code Online (Sandbox Code Playgroud)

通过https://regex101.com/r/tAwEp9/2验证

测试过

server_name "~^(www.)?ucwebapi-uccore(\d{0,3})-(\d{0,3})\.testme\.net ucwebapi1.testme.net";
Run Code Online (Sandbox Code Playgroud)

查看 ucwebapi1.testme.de 服务器是否可访问。

有什么限制我不知道吗?谢谢你。

All*_*uce 7

尝试这个:

server_name "~^(www.)?ucwebapi(-uccore)?(\d{1,3}-\d{1,3})?\.testme\.net";
Run Code Online (Sandbox Code Playgroud)

您的 regex101 页面与您的配置中最终的内容之间似乎缺少一些字符。

我还对其进行了一些调整,使其不匹配:

ucwebapi-uccore999.testme.net
ucwebapi-uccore-.testme.net
ucwebapi-uccore-999.testme.net
Run Code Online (Sandbox Code Playgroud)