这是我的学习案例:
浏览器—> Apache代理—> ISA服务器—>互联网
ISA服务器需要authentication。
问题是允许通过两个代理HTTPS。
与HTTP一起工作的configuration是这样的:(是的,我不想使用ProxyPass,但ProxyRequests)
<virtualhost *:8080> ... SetEnv auth-proxy-chain on ... ProxyRequests On ProxyRemote * http://isaproxy:80 ... <proxy *> AuthName "ISA server auth" AuthType Basic [here a module to authenticate] require valid-user Allow from all </proxy> ... </virtualhost>
用户可以在apache代理上进行身份validation,然后将身份validation链发送到允许HTTP传输的ISA服务器。
但是,当浏览器切换到HTTPS时,ISA服务器“说出”NTLM,并中断了对apache代理的身份validation。
如果我尝试使用类似这样的SSPI模块(ntlm):
blablabla
<proxy *> AuthName "ISA server auth" AuthType ntlm [ SSPI stuff ] Require valid-user Allow from all </proxy>
Apache服务器拒绝authentication(或者我不知道的ISA服务器)。
我使用wireshark来直接使用ISA服务器作为代理来查看名义进程。 第一个authentication链是BASICtypes,然后切换到NTLM(挑战继续NTLM)。
我应该如何configurationApache而不检查它(*)将NTLM身份validation传输到ISA代理? 或者重写头文件来强制BASIC身份validation?
(*)似乎不像看起来那么容易…
如果您没有对代理进行身份validation,那么ISA服务器和客户端之间会发生正常的身份validation过程。
如果这对你有用,那就是我的build议。 除非服务器都使用相同的凭证进行基本身份validation,否则实际上没有办法在同一个头文件中对两个不同的服务器进行双重身份validation。