Apache Server 搭建 HTTP/HTTPS代理服务器

原创
2017/03/25 14:35
阅读数 2.3K

常用的代理协议是Socks 4/5,HTTP,SSH,TELNET,基本上都属于请求转发,包括ShadowSocks 在local端使用Socks5,local->server使用其他协议。

许多代理服务器都支持反向代理,但是对正向代理支持并不好,如果nginx只支持HTTP透明正向代理,对于使用隧道的代理就显得力不从心。

行业中,使用squid+Stunnel支持隧道代理的比较多,实际上Apache也支持隧道代理。

 

我们需要开启如下扩展

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so  #websocket代理
LoadModule ssl_module modules/mod_ssl.so

当然,如果又需要,我们可以开启Apache状态监控

LoadModule unique_id_module modules/mod_unique_id.so
LoadModule remoteip_module modules/mod_remoteip.so
LoadModule info_module modules/mod_info.so
LoadModule status_module modules/mod_status.so

然后加载配置文件

Include conf/extra/httpd-info.conf

http-info.conf配置如下

<Location /server-status>
    SetHandler server-status
    Require host localhost 
    Require ip 127 #为了服务器安全,我们这里仅允许回环地址访问
</Location>

#ExtendedStatus On

<Location /server-info>
    SetHandler server-info
    Require host localhost
    Require ip 127  #为了服务器安全,我们这里仅允许回环地址访问
</Location>

 

然后配置我们的代理服务器 vhosts.conf

Listen 8989
<VirtualHost *:8989>
    ServerName 127.0.0.1:8989  
    ServerAdmin webmaster@localhost 
    ErrorLog "logs/proxy.tunnel.com-error.log"
    CustomLog "logs/proxy.tunnel.com-access.log" common  
   <IfModule proxy_module>  
        ProxyRequests On   
        SSLProxyEngine on
        ProxyVia On
    </IfModule>
   
    <Proxy *>
        Order deny,allow
        Deny from all
        Allow from 127.0.0.1
    </Proxy> 
</VirtualHost>

总体来说可以支持透明代理和http隧道代理,但是仍然不太稳定。

使用方式,安装chrome 代理插件SwitchyOmega,然后创建代理即可。

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部