来自 IIS 中托管的网站的 SOAP API 访问错误
Posted
技术标签:
【中文标题】来自 IIS 中托管的网站的 SOAP API 访问错误【英文标题】:SOAP API access error from a website hosted in IIS 【发布时间】:2016-05-29 07:33:15 【问题描述】:我在 Windows Server 2012 的 IIS 中托管了一个应用程序。网站会定期失去调用应用程序中使用的安全 SOAP Api 的能力。通过在 IIS 中重新启动网站可以解决该问题。但我无法在所有时间点重新启动应用程序。
我在事件查看器中收到以下错误消息,并且 应用程序错误日志。
事件查看器
TLS 协议定义的致命警报代码为 80。
应用程序错误日志
“无法为具有权限的 SSL/TLS 建立安全通道 '网址'”
Windows 更新尚未安装已知会产生此错误的 Microsoft 的 S 通道 SSL 更新 KB。
【问题讨论】:
***.com/questions/1742938/… 【参考方案1】:如果您查找错误原因:
TLS 协议中的警报代码 80 表示:
内部错误:与对等方或对方无关的内部错误 协议的正确性使其无法继续,例如 内存分配失败。该错误与协议无关。这 消息总是致命的。
SOAP UI的配置好像有什么不好,可能有哪些情况:
Service 中的内存消耗: Checkout WCF - Random client timeout when making multiple calls
与限制(服务调用和优化的上限)设置相关的内容:您需要为任何托管应用程序设置最大并发调用。确保该值大于所需的连接。结帐WCF timeout exception detailed investigation
服务器出现问题(应用程序内存泄漏、内存不足、其他进程):在 Eventviewer 中监控服务器日志以了解应用程序错误。
应用程序池的空闲超时设置:托管在 IIS 上的任何托管应用程序都使用应用程序池,并且应用程序池具有空闲超时。这意味着如果在一段时间内(AppPool 的空闲超时)没有使用该 AppPool 上的托管应用程序,则回收 AppPool 以释放资源。之后的新调用需要启动 AppPool,这需要比通常更多的时间,如果超时时间较短,可能会导致某些应用程序超时。 查看Configure Idle Time-out Settings for an Application Pool
【讨论】:
应用程序在重新启动 IIS 后开始重新运行。该 URL 可在 iexplorer 中访问,无需任何证书验证检查。即使在引发错误期间,API 调用也使用 SOAPUI 成功处理。 确保为 IIS 上的托管应用程序强制执行https
,否则永远不会使用该证书。以上是关于来自 IIS 中托管的网站的 SOAP API 访问错误的主要内容,如果未能解决你的问题,请参考以下文章