我正在 Exchange 2003 上部署 Outlook Web Access,使用基于表单的身份验证,不使用 SSL(管理要求 - 他们已经接受了风险,并且不会改变)
除了更改密码功能之外,其他一切都运行正常。我遵循了网络上的所有“标准”文档:
- 创建了 IISADMPWD 虚拟目录
- 设置 DisablePassword=0 注册表项
- 设置 AllowRetailHTTPAuth 注册表项
- 设置 PasswordChangeFlags=1 元数据库条目
唯一剩下的问题是,OWA 中“选项”页面上的“更改密码”按钮试图重定向到以 HTTPS 而不是 HTTP 开头的 URL,并且用户收到服务器超时错误(我们甚至没有监听 HTTPS 端口)。
https://ourdomain.com/iisadmpwd/aexp2b.asp?http://ourdomain.com/exchange/whois/?Cmd=close
这需要重定向到相同的地址,但不需要 SSL
http://ourdomain.com/iisadmpwd/aexp2b.asp?http://ourdomain.com/exchange/whois/?Cmd=close
有人要吗?我错过了什么吗?
谢谢汤姆
编辑:后来我发现,虽然这似乎有效,但将 PasswordChangeFlags 设置为 1 会导致 Outlook Web Access 的应用程序池崩溃,HTTPERR 日志中出现 Connection_Abandoned_By_AppPool。因此我不得不放弃这个,我不建议其他人尝试同样的做法。
答案1
如果不实施 SSL,则无法使用更改密码功能。
答案2
我有经过一些小小的黑客技术,它就可以工作了。
(根据我们会收到的提示,自签名 SSL 证书不是一个选项,而且 SSL 不是一个选项 - 绝对的管理要求,无论多么不明智。)
Outlook Web Access 中的 openChangePassword() javascript 函数需要修改,因为它被硬编码为使用 HTTPS。我在 exchweb 文件夹中的一大堆文件中找到了这个函数。这样就解决了按钮的问题。
我还根据另一个 KB 重新注册了 iispwchg.dll。
此外,aexp2b.asp 也需要编辑,因为它也被硬编码为发布到 HTTPS URL。
我还错过了一个配置步骤 - PasswordExpirePreNotifyDays 元数据库条目也需要设置。这是来自这里。
不管怎么说,还是要谢谢你。
答案3
不会发生。您需要 SSL 来运行密码更改小程序,因为微软显然认为通过非加密的 HTTP 流量广播密码存在太大的安全风险。我同意他们的观点。
如果提出这一要求的人不想花钱购买 SSL 证书,那么他们可以自己生成一个并使用它。
答案4
您在下面的文字中具体做了什么,因为我处于同样的情况,而我的管理层不想听到其他任何内容?
Outlook Web Access 中的 openChangePassword() javascript 函数需要修改,因为它被硬编码为使用 HTTPS。我在 exchweb 文件夹中的一大堆文件中找到了这个函数。这样就解决了按钮的问题。