我在谷歌上搜索过这个话题,但大多数情况下我得到的结果是如何取消阻止被 ISP 阻止的网站。因此,我有一个网站被观众阻止查看,当我转到我的域时www.mydomain.com,它会将所有用户重定向到,www.mydomain.com/blocked.aspx并显示一条消息“该网站因违反国家法律而被阻止”。如果我将我的DNS更改为google DNS,则可以正常查看该站点。
我正在使用 WordPress 来托管这个网站,我的问题是,ISP 如何将其他人重定向到另一个目录,例如/blocked.aspx? 我认为这个文件在 Microsoft IIS 服务器而不是 Apache 服务器上运行。
我希望我能得到这方面的技术理解。
小智 24
正如你已经说过的:
如果我将我的DNS更改为google DNS,则可以正常查看该站点。
所以它与DNS有关。您的 ISP 提供了他自己的 DNS 服务器,并且他有一个被阻止域的列表。当您现在查询被阻止域的 IP 地址时,您的 ISP 将不会使用正确的 ip 地址进行响应,而是使用他自己的服务器(或 FBI 或其他)的 ip 地址进行响应,然后该服务器将仅托管“被阻止”的站点.
假设您有网站http://example.org。当您使用 ISP 的 DNS 服务器时,它会将该域解析为 IP 地址
由于 ISP 不希望您看到该网站,因此他们会让他们的 DNS 服务器为您提供不同的 IP。在该 IP 地址上,他们可以托管向您显示警告消息的页面。
ISP 不会以任何方式更改您的网站,他们只会将用户引导至他们自己的网络服务器。
小智 6
你问:
ISP 如何将其他人重定向到另一个目录
严格来说,他们不是。他们将人们重定向到另一台服务器。这与 DNS 的工作方式有关。其他答案已经广泛地涵盖了这一点,所以我将更详细地介绍:
当有人访问时http://www.example.com/,浏览器首先发出 DNS 请求以查找www.example.com. 这通常会转到由其 ISP 运行的 DNS 服务器。ServerFault 在另一个问题中有关于 DNS 请求的更多详细信息。
DNS 服务器使用 IP 地址响应请求。在像您描述的网站阻止的情况下,服务器会使用其他服务器(可能是政府运行的服务器)进行响应,该服务器将所有请求重定向到 /blocked.aspx。
Google 的 DNS 不会以这种方式阻止您的域,因此您获取的是服务器的 IP 地址,而不是政府阻止的网络服务器。
从我在其他答案中读到的内容,感觉就像您在询问您的 ISP 如何设法将“blocked.aspx”添加到您的域的末尾。如果是这样,让我们看一个案例研究:
您有一个在http://mysite.mine/上运行的 Web 服务器,它是一个公共的、完全值得信赖的 DNS 解析为公共 IP 10.0.0.1。您可以浏览到http://mysite.mine/index.aspx或 /about.aspx 或其他任何内容,因为您将它托管在您的服务器上。实际上,它实际上解析为http://10.0.0.1/about.aspx因为这就是 DNS 所做的 - 它将域名解析为 IP 地址。
您的 ISP 决定无论出于何种原因都需要阻止您的网站,因此他们会将请求http://mysite.mine/ 的DNS 请求重定向到公共 IP 192.168.0.1,这是您的 ISP 托管的网络服务器。因此,任何访问http://mysite.mine/ 的尝试实际上都会重定向到http://192.168.0.1/。一旦他们准备好了,就很容易配置他们的 Web 服务器以重定向任何尝试使用 blocks.aspx 访问该 Weberver 的尝试。您的浏览器显示http://mysite.mine/blocked.aspx,但实际上您正在访问http://192.168.0.1/block.aspx。
就您的浏览器而言,它显示http://mysite.mine/,因为这是 DNS 服务器告诉它的内容,因此在重定向到相同 IP 地址的情况下,您的浏览器不会更改域。这就是为什么您会在域末尾看到 blocks.aspx 的原因 - 因为它不是您的网络服务器。
| 归档时间: |
|
| 查看次数: |
7866 次 |
| 最近记录: |