我是 Apache 的新手,如果这是某个地方有文档记录的解决方案,请见谅。我在网上搜索了很久,但似乎找不到这个答案...
我想根据进入运行 Apacheche 的 Debian Wheezy Web 服务器的 URL 将流量重定向到不同的后端服务器。例如,如果 URL 是http://abc.mydomain.com它将被传递到服务器 IP 192.168.0.100,但如果 URL 是http://def.mydomain.com它将被传递给服务器 IP 192.168.0.110。
在此先感谢您的帮助。
答案1
您可以将Apache
前端服务器用作后端服务器的反向代理:mod_proxy
例如:
<VirtualHost *:80>
ServerName abc.mydomain.com
ProxyPass / http://192.168.0.100
ProxyPassReverse / http://192.168.0.100
</VirtualHost>
<VirtualHost *:80>
ServerName def.mydomain.com
ProxyPass / http://192.168.0.110
ProxyPassReverse / http://192.168.0.110
</VirtualHost>
您必须启用这些模块:
a2enmod proxy
a2enmod proxy_http
的优点mod_proxy
在于它对于最终用户是透明的:其浏览器地址栏中的 URL 将保持不变:它将保留,http://abc.mydomain.com
但实际上他们是由 提供服务的http://192.168.0.100
。
答案2
您要做的就是反向代理。或者,您可以使用性能优于 Apache 的 Nginx 作为反向代理。