Windows环境下Apache 2.4配置Kerberos认证的解决方案咨询
在Windows Server上为Apache 2.4实现Kerberos认证的方案
一、能否为Windows编译mod_auth_gssapi?
可以,但过程不算轻松,需要搞定几个关键环节:
- 先搭好Windows下的Apache模块编译环境:得装VC++编译器、Apache官方的APR和APR-util开发包
- 依赖的GSSAPI库可以用MIT Kerberos for Windows的开发版,它提供了Windows平台的GSSAPI实现
- 大致编译流程:
- 拉取mod_auth_gssapi的源码
- 配置编译参数,指定Apache安装路径、APR和GSSAPI库的位置
- 用
nmake工具编译生成.dll模块
- 注意:编译完一定要做兼容性测试,Windows的Kerberos环境(比如AD)和Linux差异不小,可能得调整模块的配置参数才能正常工作
二、替代方案:反向代理到支持Kerberos的服务
不想折腾编译的话,反向代理是个可行的路子:
- 整个轻量的Linux虚拟机或者容器,跑一个带mod_auth_gssapi的Apache,或者支持Kerberos的NGINX(NGINX的
ngx_http_auth_gssapi_module部分发行版默认带,也可以自己编译) - 把Windows上的Apache HTTPS服务器作为后端,让Linux代理先处理Kerberos认证,过了之后再把请求转发给后端的Windows Apache
- 配置要注意:代理服务器得和AD建立正常的Kerberos信任关系,还要正确配置请求头传递,确保用户身份能传到后端
三、是否需要改用IIS?
如果上面的方案都嫌麻烦,换IIS是最省心的选择:
- IIS原生支持Kerberos认证(集成Windows身份验证),配置流程成熟,和AD的兼容性拉满
- 不用额外编译模块,直接在IIS管理器里开集成身份验证,配好*SPN(服务主体名称)*就能搞定Kerberos认证
- 要是你对Apache的特定特性依赖不多,IIS绝对是最直接的解决方案
内容的提问来源于stack exchange,提问作者Oytoch
相关产品推荐
相关产品推荐

