通过服务端转发把页面发布在自有域名

通过在灵蹊产品内添加自定义域名,可以把页面发布在您自有的域名下,例如您自己的主域名是mydomain.com,可以把一个未使用的子域名(例如 toufang.mydomain.com)配置在灵蹊产品内,并且对域名解析进行修改,最终结果是用户访问toufang.mydomain.com这个域名下的任何页面,都会请求到灵蹊服务器。

如果您希望在一个已经在投放中的子域名下发布灵蹊页面,上面的这种方式无法实现,因为这种场景下灵蹊不能接管整个子域名,否则这个域名下正在运行的您在自己服务器上发布的页面就无法访问了。举例:

http://toufang.mydomain.com/page1 这个希望发布灵蹊制作的页面
http://toufang.mydomain.com/page2 这个页面运行在您自己的服务器上

在这种场景下,仍然可以通过在服务端转发的方式来实现灵蹊页面的发布。本文以Nginx服务器为例,描述涉及的操作过程。配置需要您负责运维的同事协助进行。

  1. 假设您希望把灵蹊页面发布到:http://toufang.mydomain.com/page1 路径。
  2. 把一个尚未使用的子域名配置到灵蹊产品内,例如 lingxi.mydomain.com 例如参见绑定自己的域名
  3. 把页面发布在上述域名下,例如 http://lingxi.mydomain.com/page1。
  4. 在您最终希望挂在的子域名(toufang.mydomain.com)的外网Nginx服务的配置中,加入proxy_pass配置,将请求转发到灵蹊页面,例如:
location /page1 {
    proxy_pass http://lingxi.mydomain.com/page1;
}

详细配置信息参见Nginx文档

通过上述配置方式,当用户访问URL http://toufang.mydomain.com/page1时,请求会先抵达您的Nginx服务器,然后会立刻从后台请求 http://lingxi.mydomain.com/page1,并把页面内容返回给客户端。

这种转发对用户来说无感,也不存在浏览器端二跳的问题。

如果有批量页面需要采用上述发布方式,建议根据URL路径配置通配规则,例如:

location /lp/ {
    proxy_pass http://lingxi.mydomain.com/;
}

上述配置会把 http://toufang.mydomain.com/lp/… 路径下的所以页面请求转发到 http://lingxi.mydomain.com/… 。

发表评论