用远程主机文件修改替换本地主机文件修改。代理服务器还是其他?

用远程主机文件修改替换本地主机文件修改。代理服务器还是其他?

我需要找到下面描述的问题的解决方案(两台服务器都运行 CentOS 6)

我的目标是让网站对公众可见,客户可以输入自己的域名 mydomain.com,然后该服务器将显示位于 IP abcd 上的暂存站点(站点编码为 mydomain.com)

在现实世界中,精通技术的客户端将更改 Windows 主机文件并将 mydomain.com 指向 abcd,但此类客户端并不多,或者其中一些客户端具有不允许更改主机文件的安全措施。

我可以使用代理服务器并修改 /etc/host 文件将特定域名指向正确的 IP 来做到这一点吗(例子)?还是我需要采取其他方式?理想的选择是类似 Hide My Ass 提供的东西。

谢谢你的帮助。

答案1

您可以设置类似的 DNS 条目staging.mydomain.com并让客户端查看它。

另一种方法是使用mod_rewritemod_proxy在服务器上,在这种情况下您不必与客户端交谈......

在这种情况下,您将需要在服务器 A 上执行如下操作:

NameVirtualHost *
<VirtualHost *>
    ServerName owncloud.mydomain.com

    ProxyRequests Off
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>

    ProxyPass / http://192.168.0.10:80/
    ProxyPassReverse / http://192.168.0.10:80/
    <Location />
        Order allow,deny
        Allow from all
    </Location>
</VirtualHost>

根据您的应用程序,您可能需要使用以下一项或全部功能:

X-Forwarded-For - The IP address of the client.
X-Forwarded-Host - The original host requested by the client in the Host HTTP request header.
X-Forwarded-Server - The hostname of the proxy server.

看看mod_proxy 文档了解更多提示和技巧。

参考

使用带有虚拟主机和 mod_proxy 的 Apache

来源

相关内容