注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 可扩展、高可用、负载均衡..
 帮助

在线WEB代理


2008-01-28 21:42:10
版权声明:原创作品,如需转载,请与作者联系。否则将追究法律责任。
  在公司或工厂中,因为安全的原因内部网络中对外部网络访问通常要经多种限制,一般情况下是采用防火墙代理或是其它的硬件来实现.但是这样不仅设置麻烦而且对资源的要求也较大,其实可以通过在线web代理来实现这个功能,它不仅设置简单而且功能还不少,通过apache可以做到通过用户名来限制登陆.一起来看看吧.

相关软件:
  http://whitefyre.com/poxy/ 这个是php写的,好像用得多一点
  http://www.jmarshall.com/tools/cgiproxy/ 这个是CGI的版本.

安装:
##安装poxy
[root@linux poxy]# unzip poxy-0.5b2.zip
Archive: poxy-0.5b2.zip
inflating: ChangeLog.txt
inflating: index.inc.php
inflating: index.php
inflating: LICENSE.txt
inflating: README.txt
inflating: TODO.txt
[root@linux poxy]# rm poxy-0.5b2.zip
rm: remove regular file `poxy-0.5b2.zip'? y
[root@linux poxy]# cd ..
[root@linux tmp]# mv poxy /var/www/proxy

##安装CGI Proxy
[root@linux tmp]# tar zxvf cgiproxy.2.1beta15.tar.gz
README
nph-proxy.cgi
[root@linux tmp]# cp nph-proxy.cgi /var/www/proxy1/

配置apache支持:
  有关apache的配置可以查看我先前的一些文章.http://waringid.blog.51cto.com/65148/58210.这里就不作详细的解说了.其中httpd.conf的需修改的内容如下:
##建立用户认证文件
[root@linux tmp]#/usr/local/httpd/bin/htpasswd -c /etc/httpd/.proxyuser lcbin
New password:
Re-type new password:
Adding password for user lcbin
[root@linux tmp]# htpasswd /etc/httpd/.proxyuser test
New password:
Re-type new password:
Adding password for user test
[root@linux tmp]#less /etc/httpd/.proxyuser
lcbin:aMi5vK//K8Xho
test:SszV9pMwU0PKU

##修改httpd.conf配置文件
[root@linux tmp]# vi /etc/httpd/httpd.conf
<VirtualHost *:80>
ServerName linux.test.com
DocumentRoot /var/www
SuexecUserGroup vmail vmail
Alias /phpadmin /var/www/phpadmin
</VirtualHost>

<Directory "/var/www/proxy"> ##php类型的proxy
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "waringid Access"
AuthUserFile /etc/httpd/.proxyuser
Require valid-user
</Directory>

<Directory "/var/www/proxy1"> ##cgi类型的proxy
AuthType Basic
Options +ExecCGI
# AddHandler cgi-script .cgi
AllowOverride None
Order allow,deny
Allow from all
AuthName "waringid Access"
AuthUserFile /etc/httpd/.proxyuser
Require valid-user
</Directory>

测试:
  在浏览器中输入路径如:http://192.168.44.200/proxy会有如图的提示进行用户名和密码的验证.
  在输入开先设置的用户名和密码后会进入到如下的页面中,如下图示,当然,软件的功能远不止如此,如果想面向internet的用户提供在线代理的服务,可以在其中添加相应的广告或是其它相关的链接.

其它:
  在弄apache的时候遇到了一件事情,当完成apache编译安装后发现有一个功能模块没有加进去,但是后面的应用已经在开使用了,也不想再花太多的时间重新去编译一次,于是就找到了下面的这个方法,就当作是笔记记下来吧.
##加入新的模块
[root@linux proxy]# pwd
/tmp/httpd-2.2.4/modules/proxy
[root@linux proxy]#/usr/local/httpd/bin/apxs -c -i -a mod_proxy.c proxy_util.c
附:apxs命令的安装和配置选项
-i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。
-a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。
-A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。
-e 表示需要执行编辑操作,它可以与 -a 和 -A 选项配合使用,与 -i 操作类似,修改Apache的httpd.conf文件,
但是并不安装此模块。
  
  至此,就这样搞定了,是不是觉得很简单呢,当然,其它还有很多更好更方便的应用设置就留给大家吧.这里只是起个抛砖引玉的作用.我其实还有一个想法:想把Linux下的lumaqq集成到web中来,这样就好玩了,我虽然明白lumaqq是用java写成的,把它集成到web也应不是很难,但是我对java不熟,不知哪位可以提点一二,那就真是感激不尽了.

本文出自 “虚拟的现实” 博客,转载请与作者联系!



上一篇 Linux Shell入门  下一篇 完成LFS的创建



    文章评论
 
2008-01-29 09:53:16
真的是带来很多方便呢 讲的很详细 谢谢博主

2008-04-10 11:55:53
http://proxy.zookey.cn

 

发表评论

昵   称:
验证码:  点击图片可刷新验证码  博客过2级,无需填写验证码
内   容: