`

ubuntu使用apache服务器的转发的问题

阅读更多

最近使用apache对域名进行端口转发总是出现启动不成功的问题,今天花费了两个小时对配置原理进行了一番梳理。

首先apache得不同协议都是进行单独配置的,默认只能访问静态资源,如果想使用Http进行代理转发就必须加载一下模块:

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

LoadModule proxy_http_module modules/mod_proxy_http.so

这几个模块不用手动进行加载,都在/etc/apache2/mods-available存在,只需要把它做链接转到/etc/apache2/mods-enabled即可,具体参考下面

 

在某些时候,可能需要将发到apache某个端口的请求转发到另外一个端口. mod_proxy模块可以方便的完成这个需求.

 

ubuntu中配置apache2比较方便下面以lucidapache2为例介绍如何使用 mod_proxy

 

1. 首先配置mod_proxy模块

 

/etc/apache2/mods-available中的

proxy_http.load
proxy.load
proxy.conf
proxy_connect.load

ln -s /etc/apache2/mods-enabled

 

注意需要适当的修改 proxy.conf

2. /etc/apache2/sites-enabled中建立一个文件(或一个连接 ln -s 到一个文件)

 

<VirtualHost *:80>
        
ProxyPreserveHost On
        
ServerName www.example.com
        
ProxyPass / http://www.example.com:8000/
        
ProxyPassReverse / http://www.example.com:8000/
        
ServerAdmin webmaster@localhost
</VirtualHost>

 

这样, 所有http://www.example.com 请求实际上都是到了其 8000端口. 80端口实际上成了 8000端口的一个代理 

 

当然 mod_proxy能够完成的任务不止这些. 例如, 它可以将请求转发到别的服务器上(配置合适的话).

 

使用该模块应该注意 proxy.conf的配置.

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics