切换到宽版
  • 15988阅读
  • 4回复

[求助]安装了CAS的服务器iis应用池无法以兼容32位运行[已解决] [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 0楼  发表于: 2013-06-23
部署2010CAS角色前的windows server 2008 r2 64x安装了IIS,部署了.net 32位开发的代码,应用程序池 defaultapppool 启用32位应用程序为true,托管管道模式为classic, 运行正常。
部署2010CAS角色后,应用程序池多了Exchange CAS的几个。
发现原来32位的程序无法运行。

IIS出现一堆错误日志:
日志名称:          System
来源:            Microsoft-Windows-WAS
日期:            2013/6/23 14:26:30
事件 ID:         5139
任务类别:          无
级别:            警告
关键字:           经典
用户:            暂缺
计算机:           WebService-OA1.shenzhenpost.com.cn
描述:
在为应用程序池“DefaultAppPool”提供服务的工作进程“1168”中,协议“http”的侦听器通道报告了侦听器通道错误。数据字段包含错误号。
事件 Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Microsoft-Windows-WAS" Guid="{524B5D04-133C-4A62-8362-64E8EDB9CE40}" EventSourceName="WAS" />
    <EventID Qualifiers="32768">5139</EventID>
    <Version>0</Version>
    <Level>3</Level>
    <Task>0</Task>
    <Opcode>0</Opcode>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2013-06-23T06:26:30.000000000Z" />
    <EventRecordID>22322</EventRecordID>
    <Correlation />
    <Execution ProcessID="0" ThreadID="0" />
    <Channel>System</Channel>
    <Computer>WebService-OA1.shenzhenpost.com.cn</Computer>
    <Security />
  </System>
  <EventData>
    <Data Name="AppPoolID">DefaultAppPool</Data>
    <Data Name="ProcessID">1168</Data>
    <Data Name="param3">0</Data>
    <Data Name="ProtocolID">http</Data>
    <Binary>C1000780</Binary>
  </EventData>
</Event>

就算完全新建一个站点,一个新的应用程序池,站点程序只放置htm的静态文件,但只要应用程序池,使用启用32位应用程序为true,马上就出现类似报错,然后程序池会被自动禁用。
PS.启用32位应用程序为true,可以看到进程中是w3wp.exe*32在运行

求解,exchange2010cas安装时修改了什么东西,导致IIS应用池启用32位应用程序会无法工作。


分享到
只看该作者 1楼  发表于: 2013-06-23
终于找到问题点了!!!

iis配置中被exchange2010增加了一些dll文件加载,但没有指定其运行模式,一旦有应用程序池使用32位时,将导致架构错误。

未修改配置前,启用32位应用池,日志可以看到如下报错:
由于配置问题,无法加载模块 DLL“C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\Owa\auth\exppw.dll”。当前配置仅支持加载为 x86 处理器架构构建的映像。

解决方法是修改C:\Windows\System32\inetsrv\config\applicationHost.config
将其中涉及exchange的dll,设置加载模式为preCondition="bitness64"


<add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll" />
修改为
<add name="kerbauth" image="C:\Program Files\Microsoft\Exchange Server\V14\Bin\kerbauth.dll"  preCondition="bitness64" />

修改这个文件前先停iis,修改后再启动iis,就生效。            

只看该作者 2楼  发表于: 2013-06-23
owa实际会被嵌入到其他系统中提供邮箱访问,无法避免共用的服务器上运行32位系统

相关资料的原文
social.technet.microsoft.com/Forums/en-US/18abc343-dacd-481f-a889-af0c0bfe7e30/kerbauthdll-configuration-issues
只看该作者 3楼  发表于: 2013-06-23
等级不够,发不了链接
链接就在上面贴加上 http协议。

只看该作者 4楼  发表于: 2013-07-02
回 minicoo 的帖子
minicoo:等级不够,发不了链接
链接就在上面贴加上 http协议。(2013-06-23 18:05)嬀/color]

感谢分享
快速回复
限60 字节
 
上一个 下一个