我正在尝试为我的应用配置通配符子域,但每当我进入子域时,我都会收到根域的索引页。我的应用程序是通过cloudflare配置的,然后我有一个Nginx服务器,它可以提供静态文件或将请求传递给节点应用程序。
在cloudflare中,我按此顺序添加了两条规则
http://*domain.com/*
-always use https
http://*.domain.com
-always use https
然后在nginx中我有两个服务器块
server
{
listen 80;
server_name www.domain.com domain.com;
//this will redirect user to use https
}
server
{
listen 443;
//this is my root domain's server that should handle all traffic for the root domain
}
然后我有一个子域的块
server
{
listen 443;
server_name ~[^(www)|0-9A-Z]\.domain.com
//proxies the request to the node app
}
奇怪的是,我看到请求由节点应用程序中的正确路由处理,但是我收到了错误的文件(根域的索引页面)。
我有点困惑,因为一开始我怀疑它可能是cloudflare缓存索引页面并为所有子域服务但是如果是这样的话,为什么我能看到请求到达我的服务器?