在公司或工厂中,因为安全的原因内部网络中对外部网络访问通常要经多种限制,一般情况下是采用防火墙代理或是其它的硬件来实现.但是这样不仅设置麻烦而且对资源的要求也较大,其实可以通过在线web代理来实现这个功能,它不仅设置简单而且功能还不少,通过apache可以做到通过用户名来限制登陆.一起来看看吧.
相关软件:
[url]http://whitefyre.com/poxy/[/url]
这个是php写的,好像用得多一点
[url]http://www.jmarshall.com/tools/cgiproxy/[/url] 这个是CGI的版本.
[url]http://www.jmarshall.com/tools/cgiproxy/[/url] 这个是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的配置可以查看我先前的一些文章.
[url]http://waringid.blog.51cto.com/65148/58210[/url]
.这里就不作详细的解说了.其中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>测试:
在浏览器中输入路径如:
[url]http://192.168.44.200/proxy[/url]会有如图的提示进行用户名和密码的验证.
在输入开先设置的用户名和密码后会进入到如下的页面中,如下图示,当然,软件的功能远不止如此,如果想面向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不熟,不知哪位可以提点一二,那就真是感激不尽了.