通过安全的子域镜像我的网站

为了使我的网站符合边缘内容交付networking的限制,我不得不将我的安全证书根从https://www.mysite.com推送到子域https://www.secure.mysite.com 。 我现在正在考虑什么似乎是一种新颖的方式,我可以通过我的安全子域镜像来自我的不安全域的内容。 在我的apacheconfiguration中使用了几个mod_rewrite命令,我已经成功地将其设置为将所有https://*.com请求redirect到我的服务器,以将请求前缀到https://secure.*.com

现在来谈谈我想邀请一些人讨论的部分。 这是我的想法提纲。

与我的服务器的其余部分不同,通过安全子域的任何请求都将使用不同的ErrorDocument处理404请求。 而不是简单地显示一个404错误,这个页面将负责尝试在基本域上find一个符合条件的“代理”点。 这是一个例子:

  1. 用户请求https://mysite.com/site/walrus.php?cool=1
  2. mod_rewrite将原始请求更改为https://secure.mysite.com/site/walrus.php?cool=1
  3. 服务器无法在/site/walrus.php域中find/site/walrus.php ,并调用/site/walrus.php域的404处理程序
  4. 404 ErrorDocument(一个php脚本)将安全部分从请求中除去,再次呈现http://mysite.com/site/walrus.php?cool=1
  5. 该脚本尝试使用file_get_contents()获取http://mysite.com/site/walrus.php的内容
  6. 如果脚本发现http://mysite.com/site/walrus.php是一个现有的资源,它会将该文件的内容作为自己的内容回显。 否则,一直无法find资源,它继续发出redirect头到正常的404 ErrorDocument适用于服务器的其余部分。

那么,你可以对此做些什么评论? 这样做以前是否有这样的事情的资源或者例子让我看?

从你的问题来看,你似乎想要的是https://secure.mysite.com/* – > https://www.mysite.com/*

如果是这样的话,为什么不简单地与贫民窟的解决schemeconfiguration您的Web服务器来处理多个主机名(Apache中的ServerAlias ),将两个域指向相同的IP,并configurationsecure.mysite.com的SSL证书。

是的,理论上,有人可能会将您的主站点命名为https://www.mysite.com并获得SSL错误(证书名称不匹配),但这不需要configuration维护或粗糙的重写规则 – 对于您的服务器来说更好。