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

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

为了使我的网站符合边缘内容交付网络的限制,我不得不将我的安全证书根从https://www.mysite.com推送到子域https://www.secure.mysite.com。我现在正在考虑一种看似新颖的方法,我可以通过我的安全子域镜像来自我的非安全域的内容。利用我的 apache 配置中的几个 mod_rewrite 命令,我已成功将其设置为将所有https://*.com请求重定向到我的服务器,并将请求前缀为https://secure.*.com

现在到了我想邀请大家讨论的部分。这是我的想法的提纲。

与我的服务器的其他部分不同,通过安全子域的任何请求都将使用不同的 ErrorDocument 来处理 404 请求。此页面不会简单地显示 404 错误,而是负责尝试在基础域上查找符合条件的“代理”点。以下是示例:

  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在安全子域中找到,并调用安全子域的 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存在资源,它会将该文件的内容作为自己的内容回显。否则,由于无法找到资源,它会继续向适用于服务器其余部分的正常 404 ErrorDocument 发出重定向标头。

那么,您对此有何评论?以前是否已经做过,是否有此类资源或示例可供我在做这件事时参考?

答案1

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

如果是这样的话,为什么不简单地采用贫民窟解决方案来配置您的 Web 服务器以处理多个主机名(ServerAlias在 Apache 中),将两个域指向同一个 IP,并为其配置 SSL 证书secure.mysite.com

是的,理论上有人可以访问您的主站点https://www.mysite.com并出现 SSL 错误(证书名称不匹配),但这不需要配置维护或复杂的重写规则——这对您的服务器来说要好得多。

相关内容