创build一个只能访问特定页面的子域别名

背景

我们正在为希望有一个“白标”解决scheme的人运行一个项目(他们希望有一个他们的网站的子域,显示我们网站的某些页面,样式看起来像他们的)。 我们倾向于这条路线的主要原因是他们的用户觉得他们没有离开原来的网站(或者他们是相关的),并且客户是坚持的。

计划

在我们的服务器上指定一个子域名,但只允许它访问与此项目相关的页面(否则我们的常规站点页面会混淆人)。 我们的前端堆栈只是一个内置单页应用程序的小型Nginx服务器。 我们没有从这个地区的任何导航到其他地区,但是如果path没有被阻挡,人们仍然可以到达那里。 我们想要访问的页面是:

  • example.example.com/profiles/*
    • configuration文件是正在开发的网站的新领域

// example.example.com只是other.com的别名

问题

  1. 什么是最可靠的方式来确定请求者是使用子域还是我们的主域?
  2. 那么我们可以提供一个404到/ profiles / *页面之外的请求吗?
  3. 使用服务器configuration(Nginx)或路由拦截器(AngularJS)做这个更好吗?

假设你的客户端有example.com域,并且你有example.org域,那么在你客户端的服务器上添加这个配置应该可以做到

 server { listen 80; server_name sub.example.com; location /profiles/ { # proxy pass all requests to example.org/relevant/profiles/folder proxy_pass http://example.org/relevant/profiles/folder/; proxy_redirect default; } location / { # Return 404 for all other requests to sub.example.com return 404; } }