有没有办法将所有流量代理到某个服务器,除非该域名不同?
基本上是一个*
为server_name
财产?
server {
listen 80;
server_name foo.com
}
server {
listen 80;
server_name *
}
Run Code Online (Sandbox Code Playgroud)
或者,有没有办法设置"默认"服务器,然后它会使用它,如果没有其他特定的服务器配置匹配?
你不能用*server_name
.从文档:
通配符名称可能仅在名称的开头或结尾包含星号,并且仅在点边框上包含星号.
但是,您可以使用正则表达式:
server {
server_name ~^(www\.)?(.+)$;
location / {
root /sites/$2;
}
}
Run Code Online (Sandbox Code Playgroud)
正如@Valery Viktorovsky的回答所说,你不能使用*for server_name
.您可以将server
块指定为"默认"以接收与任何其他请求不匹配的所有请求.请参阅此帖子以获得解释.它看起来像这样:
server {
listen 80 default_server;
server_name wontmatch.com; # but it doesn't matter
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅文档server_name
.
归档时间: |
|
查看次数: |
11111 次 |
最近记录: |