我正在考虑切换到Amazon EC2来托管我的网站以处理更多流量.似乎我必须更新DNS记录以指向新服务器,但我想知道是否有办法避免必须等待新的DNS记录传播.将代码放在两个主机上对我来说不起作用,因为应用程序经常写入数据库.我想过在旧主机上使用元重定向或PHP重定向来重定向到新主机ip,但是想知道是否有更好的接受方式.
解决方法
这是我一直使用的技巧…… :)它假设你控制当前的服务器.
将site / db / whatever放在新服务器和旧/当前服务器上,启用代理,proxy_http和重写模块,然后在旧/当前站点的apache配置文件中添加以下行:
RewriteEngine on ProxyPass / http://<your-fqdn-here>/ ProxyPassReverse / http://<your-fqdn-here>/
最后,在旧/当前服务器的/ etc / hosts文件中添加一个具有以下语法的条目:
<new-ip-address-of-ec2> <your-fqdn-here>
这就对了.你有一个反向代理指向自己,但将自己的名称解析为新服务器.当dns传播推出时,新服务器将直接命中.我们称之为简洁的小技巧PRRP或伪递归 – 反向代理.
对于那些在防火墙上需要很多漏洞的网页应用程序(通过讨厌,我的意思是设计糟糕),这让你只需要在dmz上留下反向代理服务器,只将端口80/443拨到内部网络.