我需要找到下面描述的问题的解决方案(两台服务器都运行 CentOS 6)
我的目标是让网站对公众可见,客户可以输入自己的域名 mydomain.com,然后该服务器将显示位于 IP abcd 上的暂存站点(站点编码为 mydomain.com)
在现实世界中,精通技术的客户端将更改 Windows 主机文件并将 mydomain.com 指向 abcd,但此类客户端并不多,或者其中一些客户端具有不允许更改主机文件的安全措施。
我可以使用代理服务器并修改 /etc/host 文件将特定域名指向正确的 IP 来做到这一点吗(例子)?还是我需要采取其他方式?理想的选择是类似 Hide My Ass 提供的东西。
谢谢你的帮助。
答案1
您可以设置类似的 DNS 条目staging.mydomain.com
并让客户端查看它。
另一种方法是使用mod_rewrite和mod_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 文档了解更多提示和技巧。
参考