UnblockSit.es 是一个代理网站,但它与我以前见过的网站略有不同。
它似乎不是使用 PHP 或其他服务器端脚本来获取和显示页面,而是通过服务器配置完成所有操作。网站 URL 有一些奇怪的 DNS 设置,因此您可以在其前面输入任何域名(例如),http://serverfault.com.prx2.unblocksit.es/
然后它会显示该域名。
这似乎适用于任何站点,因此它不是手动配置。
是否有任何软件包可以提供此功能,或者它是完全定制的?
答案1
设置起来非常简单:
- 多个通配符 A 记录(*.unblocksit.es,。.unblocksit.es,。.*.unblocksit.es 等)-因此任何请求都会返回到他们的网络服务器。
- Apache 配置或 PHP 脚本读取请求的 URL、删除末尾并代理内容。
答案2
这可能会检查Host
您的 Web 浏览器发送的标头以确定要代理到哪个域(并使用通配符 DNS 使其域下的所有子域都进入其服务器)。
这部分很简单,但将任何资源请求转换为使用代理域则是一个更棘手的问题。Apache 之类的工具mod_proxy_html
试图解决这个问题,但依赖于 HTML 中相当粗糙的文本替换策略。
他们可能正在使用类似的东西,或者只是编写了一些自定义代码来充当代理。