我的作品基于使用客户端证书身份验证的天蓝色网站。它适用于旧证书。我申请了新的证书并将其添加到请求中。但是当请求到达Azure Web角色端时。没有任何东西可以从请求中检索,我自己的代码没有被执行并直接返回403。
我猜证书有问题吗?我在本地机器上安装了证书,它在本地运行良好。并使用.pfx和密码将其安装到azure中。没有发生任何变化。
在将天花板安装到azure时还有其他操作吗? 有人能帮助我吗? PLS
答案 0 :(得分:0)
您需要分享有关确切错误的更多详细信息。首先弄明白,子状态代码到底是什么?是 403.7 还是 403.13 或其他
您可以为Web角色上托管的站点启用日志记录,并检查子状态代码是什么( 403。?? )。
您还提到客户端是Azure网站,因此我猜您可以启用 System.Net 跟踪来收集更多详细信息并在此处共享。在客户端Web应用程序的web.config上添加以下内容。
<configuration>
<system.diagnostics>
<trace autoflush="true" />
<sources>
<source name="System.Net">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Cache">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Http">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.HttpListener">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.Sockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
<source name="System.Net.WebSockets">
<listeners>
<add name="System.Net"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add name="System.Net" type="System.Diagnostics.TextWriterTraceListener" initializeData="D:\home\LogFiles\System.Net.trace.log" traceOutputOptions = "ProcessId, DateTime" />
</sharedListeners>
<switches>
<add name="System.Net" value="Verbose" />
<add name="System.Net.Sockets" value="Verbose" />
<add name="System.Net.Http" value="Verbose"/>
<add name="System.Net.Cache" value="Verbose" />
<add name="System.Net.HttpListener" value="Verbose" />
<add name="System.Net.WebSockets" value="Verbose"/>
</switches>
<trace autoflush="true"/>
</system.diagnostics>
</configuration>