Lar*_*ann 9 azure azure-web-roles visual-studio-2012 azure-sdk-.net
我遇到了让SSL在Development Fabric中工作的问题.我正在使用Visual Studio 2012 Ultimate和2012年10月的Azure SDK for .NET运行Windows 8 Pro的全新安装.IIS8没有安装,只有IIS Express,它声称支持HTTPS所以我希望这不是问题.
以管理员身份运行VS 12,我创建了一个空白的VS解决方案,添加了一个新的(.NET 4.5)云服务和一个新的ASP.NET MVC 4 Internet Web应用程序项目,并点击了F5.一切正常.然后,当我向Web角色添加SSL证书并将HTTP端点(端口80)替换为HTTPS端点(端口443,带有证书)时,按F5会产生以下错误消息:
适用于Microsoft Visual Studio的Windows Azure工具
将调试器附加到角色实例'deployment18(32).WindowsAzureCloudService.Mvc4WebRole_IN_0',进程ID为:4892'时出错.无法附加.访问被拒绝.
注意,最后一部分("访问被拒绝")有几种变体,特别令人愉快的是"灾难性的失败".:)
VS Output窗口中的唯一消息('General'输出)是:
Windows Azure工具:警告:在角色"Mvc4WebRole"中将专用端口443重新映射到444,以避免在仿真期间发生冲突.
Compute Emulator UI没有多大帮助; 就在实例消失之前,这是我得到的唯一控制台输出(有时会出现其他消息,但偶尔每隔几次运行;我不知道如何捕获这些):
[fabric]角色实例:deployment18(33).WindowsAzureCloudService.Mvc4WebRole.0
[fabric]角色状态未知
[fabric]角色状态暂停
[面料]角色状态忙
[面料]角色状态不健康
[fabric]角色状态已停止
证书是从CA获得的,并且作为带有私钥,扩展属性的.pfx正确导入到本地计算机/个人/证书存储中,并标记为可导出,以获得它的价值.
当我尝试将服务发布到Azure时,我得到一个关于数据库连接字符串的构建(验证)警告(我认为这是不相关的):
连接字符串'DefaultConnection'在项目'Mvc4WebRole'中使用本地数据库'(LocalDb)\ v11.0'.在Windows Azure中运行此应用程序时,此连接字符串将不起作用.要访问其他数据库,您应该更新web.config文件中的连接字符串.
可能更重要的是,部署实际上在Windows Azure活动日志窗口中失败并显示以下历史记录:
上午9:00:25 - 警告:有包验证警告.
上午9点○○分25秒 - 对于WindowsAzureCloudService准备部署 - 2013年1月3日上午8点59分55秒与订阅ID"<...>"使用服务管理URL"https://management.core.windows.net/ " ...
上午9:00:25 - 连接...
9:00:26 AM - 对象引用未设置为对象的实例.
上午9:00:26 - 部署失败并出现致命错误
有人可以帮我解决这个问题吗?我重新启动了几次.;)
提前致谢!
编辑(1月3日,下午4:44):我有一些想法可以帮助我取得进步,但有些想法非常激烈,所以任何建议都会受到赞赏:
编辑(1月4日,上午10:15):坏消息:我尝试了建议授予对证书的读取权限,但在我的情况下没有帮助.好消息:我设法在关闭之前在Compute Emulator UI中捕获其中一条偶发消息; 这是一些诊断的一些信息.它本身没有帮助,但它揭示了Development Fabric存储其临时文件的位置:
[诊断]信息:C:\用户\拉尔斯\应用程序数据\本地\ dftmp \资源\ 0005155d-4592-40f4-812e-18793b26576c \目录\ DiagnosticStore \监视器
为每个部署重新创建GUID部分,并在部署消失时将其删除(就像我的情况一样).但是在父目录('dftmp')中,有一些有用的目录,然后我在新部署期间监视:DevFCLogs,DFAgentLogs和IISConfiguratorLogs.我猜这回答了我昨天遇到的第一个问题!:)
DFAgentLogs\DFAgent.log:(41KB)没有有用的信息.一堆"无法读取管道"消息和获取角色/部署实例ID的失败,我认为这只是噪音.
DevFCLogs\DevFabric - 2013.01.04 - <...>.log:(510 KB)没有用处.我浏览了文件并搜索了"错误","失败","未找到","证书"和"Mvc4WebRole_IN_0"; 没有一个显示任何正在发生的事情.
IISConfiguratorLogs\IISConfigurator.log:(6 KB)现在我们正在取得进展!:)有人能告诉我这意味着什么吗?(与此同时,我正在寻找ILSpy-hunting ......有趣的...)
IISConfigurator信息:0:[00006356:00000005,2013/01/04 16:07:08.915]使用IIS Express appdomain
(......)
IISConfigurator信息0:[00006356:00000005,2013年1月16:07:08.936]添加结合127.255.0.0:444:现场deployment18(40).WindowsAzureCloudService.Mvc4WebRole_IN_0_Web
IISConfigurator信息:0:[00006356:00000005,2013/01/04 16:07:10.484]捕获异常
IISConfigurator信息0:[00006356:00000005,2013年1月16:07:10.487]异常信息:System.Runtime.InteropServices.COMException(0x800401F3):无效类字符串(从HRESULT异常:0x800401F3(CO_E_CLASSSTRING))
服务器堆栈跟踪:
在Microsoft.Web.Administration.Interop.IAppHostProperty.get_Value()
在Microsoft.Web.Administration.ConfigurationElement.GetPropertyValue(IAppHostProperty属性)
在Microsoft.Web.Administration.Binding.get_CertificateHash()
在Microsoft.Web.Administration.BindingCollection.Add(绑定绑定)
在Microsoft.WindowsAzure.ServiceRuntime.IISConfigurator.WasManager.DeploySite(String roleId,WASite roleSite,String appPoolName,String sitePath,String iisLogsRootFolder,String failedRequestLogsRootFolder,List
1 bindings, List1协议,FileManager fileManager,WAAppPool defaultAppPoolSettings,String roleGuid,String&appPoolSid,List`1 appPoolsAdded,String configPath)
编辑(1月4日,上午11点): ILSpy没有多大帮助; 在尝试获取证书的哈希值以设置绑定时,异常被抛出在互操作点(我们已经知道)(我们也知道).有谁知道需要注册什么COM对象才能获得Microsoft.Web.Administration中绑定的证书哈希?或者我如何拦截互操作电话来查找?如果你能告诉我为什么会发生这种情况,那么奖励积分.:)
Juh*_*äki 12
我在两台电脑上遇到过类似的问题.在这两种情况下安装IIS解决了这个问题.
似乎只需安装IIS(通过添加/删除Windows组件)就足够了.您不需要开始使用它.安装发生了变化,之后我的IIS Express开始使用Visual Studio中的HTTPS再次运行.
有关MSDN Social上类似问题的讨论:http: //social.msdn.microsoft.com/Forums/nl-NL/windowsazuredevelopment/thread/ad362016-16f6-459a-8022-9307aa5f910e 此问题也在Microsoft连接:https: //connect.microsoft.com/VisualStudio/feedback/details/758533
在我的情况下,日志文件中的错误是:
IISConfigurator信息:0:[00007644:00000007,2013.01.17 00:39:18.523]异常:System.Runtime.InteropServices.COMException(0x800401F3):无效的类字符串(来自HRESULT的异常:0x800401F3(CO_E_CLASSSTRING))
我从C:\ Users \\ AppData\Local\dftmp\IISConfiguratorLogs目录中找到了日志文件.
vip*_*naz 11
当使用SSL的私钥证书在本地运行时,您需要为用户提供在访问私钥的情况下运行的模拟器应用程序.打开mmc.exe并添加证书>>本地计算机管理单元以查看您的证书.右键单击证书,然后单击All Tasks >> Manage Private Keys - 然后添加至少具有读访问权限的IUSR和网络服务.
要部署到azure,您需要将证书上载到Cloud Service并确保证书对域有效.
按照步骤11从http://www.microsoft.com/en-us/download/details.aspx?id=35448开始.从这篇SO帖子
| 归档时间: |
|
| 查看次数: |
6777 次 |
| 最近记录: |