最近公司启用了域,并且代理服务器加上了NTLM认证,只有加入域的电脑才能够使用。 这样一来,虽然IE和Firefox能够正常通过代理上网,但是像FlashGet等不支持NTLM代理认证的 下载工具就没法使用了。
不过今天发现了APS这个工具,它能够帮你进行NTLM代理认证, 使得不支持NTLM认证的工具也能正常使用代理。其方法就是在本地机器上再架设一个不需要认证的代理, FlashGet使用这个代理上网,而APS接收到FlashGet的请求之后,将其加上认证信息,再转发给 真正的代理服务器。
目前最新版为 0.9.9.0.1,下载最新版解压缩即可。它用python写成,需要先安装Python才能正常使用, 推荐使用2.4以上版本。
解压之后修改里面的server.cfg文件,进行以下设置。
# 本地代理的监听端口 LISTEN_PORT:5865 # 实际的代理地址 PARENT_PROXY:172.28.14.3 # 实际的代理端口 PARENT_PROXY_PORT:8080 # 你的机器在域上的机器名 NT_HOSTNAME:<机器名> # 你的机器加入的域的名称 NT_DOMAIN:<域名称> # 域用户名 USER:<用户名> # 域密码 PASSWORD:<密码>
之后打开runserver.bat,修改其中的python路径指向正确的python解释器即可。
运行runserver.bat,APS即在本机的5865端口架设一个代理,然后令FlashGet使用127.0.0.1:5865作为代理即可正常使用。
最近一直在开发Ajax应用程序。众所周知Ajax的特点是客户端和服务器分离, 客户端通常由纯Javascript组成,通过XMLHttpRequest对象与服务器通信。 在调试客户端代码时,如果服务器开在本地,尚可通过samba等方式直接编辑 服务器上的客户端js代码,倘若服务器在异地,那么每次修改js代码后通过FTP等 方式上传之后再调试就十分费事。说到这里自然会想到将js代码放到本地, 然而XMLHttpRequest却只能访问同一域名下的URL,本地的js代码无法直接使用 远程服务器上的服务。
迷茫之际,同事介绍了delegate这款软件,利用它即可实现本地调试客户端代码。
delegate可以在这里下载。 delegate实际上是一个功能强大的代理服务器,它有个类似于Linux的mount功能, 能够将Internet上的URL映射到本地。利用这个功能, 即可将远程的服务器端和本地的客户端集成到同一个域名下, 实现客户端代码的本地调试。
方法如下:
- 将Apache配置到本机的8080端口,然后将客户端代码放在htdocs下, 使之能够通过 http://localhost:8080/client/ 访问。
- 下载delegate并解压缩。
- 编辑以下的配置文件 delegate.cfg。
-P80 ADMIN="yourname@yourmail.com" MOUNT="/client/* http://localhost:8080/client/*" MOUNT="/cgi-bin/* http://server-address/cgi-bin/*"
第一行的 -P80 指定delegate使用80端口;第二行的ADMIN指定管理员邮件地址, 可以随意设置;第三行将客户端映射到 delegate 的 /client/ 路径下; 第四行将远程服务器目录映射到 delegate 的 /cgi-bin/ 路径下。
另外,如果你需要通过代理服务器访问远程服务器,可以这样设置:MOUNT="/cgi-bin/* http://server-address/cgi-bin/*" PROXY="代理服务器地址:端口"
- 在命令行输入以下命令安装delegate。注意不同版本的delegate的可执行文件名不同。
dg9.4.1.exe +=delegate.cfg
- 打开浏览器,访问 http://localhost/client/。这样即可随时看到对js代码的修改。
实际上,用好这个方法还可以“盗用”许多网站的服务,即自己开发客户端, 再通过 delegate 将请求转发给服务器。其方法不再详述。
WinHTTP代理就是Windows Update所使用的代理。在局域网内使用代理服务器访问Internet的情况下,进行Windows Update就需要设置WinHTTP代理。
该代理设置需要使用如下命令:
proxycfg
用法:
proxycfg -? : 查看帮助信息
proxycfg : 查看当前 WinHTTP 代理设置
proxycfg [-d] [-p <server-name> [<bypass-list>]]
-d : 设置直接访问
-p : 设置代理服务器和可选的旁路列表
proxycfg -u : 从当前用户的 Microsoft Internet Explorer
的手工设置导入代理设置(在 HKCU 中)
设置如下环境变量:
export http_proxy=proxy_ip:proxy_port
如果是ftp代理的话则为
export ftp_proxy=proxy_ip:proxy_port
例如
export http_proxy=10.1.1.2:8080
注意代理IP的前面不要加http://等
众所周知Apache是目前最优秀的HTTP服务器。实际上它不仅能当作服务器使用,也能够被用来架设代理服务器。本文就如何使用Apache架设HTTP代理服务器进行说明。
本文将基于Win32版的Apache 2.0.47进行说明。以前的Apache 1.x版配置方法稍有不同,但这里不作说明。
阅读全文 »