将Apache配置为反向代理

时间:2020-02-23 14:29:43  来源:igfitidea点击:

Apache还可以配置为用作反向代理。
反向代理显示给客户端,就像普通的Web服务器一样,不需要在客户端上进行特殊配置。
客户对内容进行普通请求。
然后,反向代理决定发送这些请求的位置并返回内容,就像它本身一样。
反向代理通常用于提供Internet用户访问防火墙后面的服务器或者在几个后端服务器之间平衡负载。

以下是我们如何将Apache配置为反向代理:

首先,我们需要启用代理,proxy_http和proxy_connect模块。
我们可以使用A2ENMOD命令执行此操作:

sudo a2enmod proxy proxy_http proxy_connect

接下来,转到"/etc/apache2/mods的目录"并在我们选择的文本编辑器中打开文件Proxy.conf。
取消注释: ProxyRequests On 这行,<proxy*>块和Proxyvia Off这行。
将ProxyRequests更改为OFF和Proxyvia 改为On.

ProxyRequests 0ff
<Proxy *>
AddDefaultCharset off
Require all denied
Require local
</P roxy>
# Enable/disable the handl ing of HTTP/1.1 "Via:" headers .
# ("FulL" adds the server version ;
"Block" removes all outgoing Via: he$
#Settooneof:Off|0n|Full|Block
ProxyVia 0n

现在,在/etc/apache2/sites可用目录中创建一个新文件。
我们将调用我们的文件reverse_proxy.conf。
这是文件的配置:

<VirtualHost *:80>
 ServerName msn.local
ProxyPass/http://www.msn.com
<Proxy "*">
 Require ip 192.168
 </Proxy>
</VirtualHost>

使用sudo a2ensite reverse_proxy.conf命令启用并重新启动Apache。
当内部客户端请求msn.local时,他或者她将被重定向到www.msn.com,由Proxypass指令指定。