基于ssl的wcf服务在azure仿真器中不起作用

时间:2013-04-28 12:19:17

标签: wcf ssl azure iis-express

如果我将Web角色放在IIS中运行,则服务按预期运行。 但是,它在azure仿真器中不起作用。错误页面显示“500 - 内部服务器错误。您正在查找的资源存在问题,无法显示。”

我怀疑它是由以下设置引起的:

<system.webServer>
        <security>
           <access sslFlags="Ssl, SslNegotiateCert, SslRequireCert" />
        </security>
 </system.webServer>

但是我已经设置了一个启动任务,如下面的azure:

<WebRole name="WCFServiceWebRole" vmsize="ExtraSmall">
    <Startup>
      <Task commandLine="startup\unlockSession.cmd" executionContext="elevated" />
    </Startup>
</WebRole>

其内容是:

  

%windir%\ system32 \ inetsrv \ appcmd unlock config /section:system.webServer/security/access

有人遇到过同样的问题吗?救命啊!

提前致谢!!

2 个答案:

答案 0 :(得分:0)

您是否在servicedefinition文件中启用了SSL端点,如下所示

<Endpoints>
      <InputEndpoint name="Endpoint1" protocol="https" port="443" certificate="SSLcertificate" />
    </Endpoints> <Certificates>
      <Certificate name="SSLcertificate" storeLocation="LocalMachine" storeName="My" />
    </Certificates>

答案 1 :(得分:0)

可能这是因为您的模拟器使用的是IIS Express而不是完整的IIS。如果appcmd有另一条路径:C:\Program Files\IIS Express\appcmd.exe

但是要获得更正确和完整的解决方案,请参阅此question