0

我必须创建一个 server_name 作为我的 CDN 拉取源的侦听器。

CDN 想要从 origin.mydomain.com 拉取

我在 www.mydomain.com 下已经有 100 行代码,展示了所有的重写、规则等,我需要再次使用所有这些代码。

我的简单解决方案是拥有

server_name www.mydomain.com origin.mydomain.com

轻松让 NGINX 侦听对“源”子域的请求。

我担心谷歌会发现子域并开始抓取它。我想以某种方式阻止谷歌进入“起源”子域。由于声明了多个 server_name,我不确定是否可以将 robots.txt 文件放在某处,因为使用与实时站点相同的根文件夹。

是否有捷径可寻?

所有反馈表示赞赏。

干杯瑞恩

4

1 回答 1

0

使用两个server块并使用include指令拉入公共代码。例如:

server {
    server_name www.mydomain.com;
    include /path/to/common/config;

    location = /robots.txt {
        root /path/to/friendly/dir;
    }
}
server {
    server_name origin.mydomain.com;
    include /path/to/common/config;

    location = /robots.txt {
        root /path/to/unfriendly/dir;
    }
}

因此,您在不同的目录中有两个robot.txt文件 - 或用于rewrite ... last将 URI 映射到不同的本地文件。

于 2016-10-13T10:35:55.453 回答