2013-02-08 327 views
2

我有一个运行在我的STAGE服务器(带有IIS 6的Windows 2003服务器)上的ASP.NET Web应用程序。修改“机器密钥”文件夹中的权限后SSL断开 - 错误107(net :: ERR_SSL_PROTOCOL_ERROR):SSL协议错误

我在我的应用程序中使用Google Analytics Core Reporting API启动,它在我的dev的盒子真是棒极了(的Windows 7/IIS 7.5)

当我搬到我的代码STAGE服务器,我开始变得"The system cannot find the file specified" exception;解决方案是使用App Pool标识加载用户配置文件,但IIS 6没有该功能。

我发现在

C:\Document and Settings\All Users\Application Data\Microsoft\Crypto\RSA\Machine Keys 

当我设置的权限,我它们适用于所有孩子工作周围IIS 6,这是给应用程序池帐户读/写权限实体(通过高级选项);不仅这没有解决错误;但它也打破了我的网站的SSL连接。

我得到Error 107 (net::ERR_SSL_PROTOCOL_ERROR): SSL protocol error.;非SSL网址工作得很好。

我的问题是如何恢复C:\Document and Settings\All Users\Application Data\Microsoft\Crypto\RSA\Machine Keys的适当权限并修复我的SSL连接?

有关解决我的SSL连接的任何其他建议,将不胜感激。

回答

3

我放弃了解决这个问题,因为我正在将应用程序移动到不同的服务器上;它看起来没有任何其他应用程序受到影响。

然后我重新启动IIS,所有的地狱爆发。

IIS未启动备份; IIS Admin Service未以“错误6:句柄无效”开头。

该错误帮助我找到问题的底部,并在MachineKeys文件夹中找到正确的权限。

This article指出我有Default permissions for the MachineKeys folders - KB 278381它有正确的权限。

注: KB文章指出,Everyone应该This folder onlySpecial Permissions;然而sharepoint-geek的文章建议将这些权限应用于This folder, subfolders, and files(我曾这样做)。

一旦权限被修复,iisreset工作,甚至我的SSL问题已解决。

希望这可以节省一些小时的挫折感。