发布到 Azur 失败并出现 500 内部服务器错误
Posted
技术标签:
【中文标题】发布到 Azur 失败并出现 500 内部服务器错误【英文标题】:Publish to Azur fails with 500 internal Server Error 【发布时间】:2015-05-12 07:24:08 【问题描述】:我在 Windows Azure 上有一个云服务,我创建了一个 Asp.net WebAPI 项目并发布到云服务,在我更新 Visual Studio 以更新 4 和 azure SDK 2.2 到 2.6 之前,它在 Visual Studio 发布之前运行良好.但是在我发布更新后,我收到以下错误消息。我试了几次,都失败了。谁能帮帮我?
即使我无法在新的 azure 服务上发布新创建的项目!
11:00:31 PM - 警告:存在包验证警告。
11:00:31 PM - 正在检查远程桌面证书...
晚上 11:00:39 - 为 TempAzure 准备部署 - 2014 年 2 月 12 日 10:58:23 使用订阅 ID 'e94e9aeb-7003-4eae-be92-7b7ac0a1ba2c' 的 PM 服务管理 URL 'https://management.core.windows.net/'...
11:00:39 PM - 正在连接...
11:00:39 PM - 正在验证存储帐户“jasontest”...
11:00:41 PM - 上传包...
11:06:48 PM - 警告:远程服务器返回错误:(500) 内部服务器错误。
11:11:50 PM - 警告:远程服务器返回错误:(500) 内部服务器错误。
11:26:16 PM - 警告:远程服务器返回错误:(500) 内部服务器错误。
12:00:27 AM - 警告:远程服务器返回错误:(500) 内部服务器错误。
12:05:05 AM - 警告:远程服务器返回错误:(500) 内部服务器错误。
12:27:54 AM - 无法将数据写入传输连接:一个 现有连接被远程主机强行关闭。
【问题讨论】:
没关系,刚刚看到您发布到云服务而不是 Web 应用程序。您有什么理由为您的 API 选择云服务而不是 Web 应用程序?您可以 RDP 进入您的云服务并检查日志以查看是否有问题。您还可以删除您的云服务并创建一个新的云服务来重建您的虚拟机(以防虚拟机出现问题)。 看起来错误在于将 .CSPKG 上传到存储。您可以手动创建 CSPKG(在 VS 中选择 Package 而不是 Publish)然后尝试手动将 CSPKG 上传到存储?如果可行,您可以从门户发布。您可能还想在尝试发布时运行 Fiddler,以查看是否获得有关存储故障的更多详细信息。 我手动打包并上传到门户网站。它工作正常。但问题是 VS 部署不起作用。 @ Jacob Roberts:我创建了一个新的测试项目并创建了一个新的 Web 服务,但我仍然遇到同样的错误! 【参考方案1】:从 Azure SDK2.5 更新到 SDK 2.6 后,我在尝试从 VS2013 发布到我的 Azure 服务时遇到了同样的问题:使用 Visual Studio 的任何部署工作都会在几分钟后失败,并出现 500 内部服务器错误。强>
我发现原因是将 Azure 包上传到云的速度非常慢 - 有时仅在 30kB/s 和 50kB/s 之间。部署失败是因为超时,这也说明 Azure 实例日志没有显示任何部署的迹象...
解决方法:从 Azure 存储部署
1:通过 VisualStudio 或命令行打包 Azure 解决方案:
MSBuild /t:Publish /p:TargetProfile=Cloud /P:Configuration=Release
2:创建一个 Azure 存储容器以将您的包上传到。
继续使用 AzurePowerShell cmdlet:
3:登录
添加-AzureAccount
4:将包上传到您的 Azure 存储容器
$Ctx = New-AzureStorageContext -StorageAccountName "yourstoragename" -StorageAccountKey "yourkey"
Set-AzureStorageBlobContent -File "...\app.publish\yourservice.cspkg" -Container "yourazurestoragecontainer" -Blob "yourservice.cspkg" -Context $Ctx -Force
确定上传包的PackageURL。
5:参考刚刚上传到Azure云存储的包部署云服务。
Set-AzureDeployment -Upgrade -Slot "Staging" -Package "PackageURL" -Configuration "PathToYourCloudConfiguration.cscfg" -label "SomeDeploymentInfo" -ServiceName "yourservicename" -Force
(当然整个过程都是脚本化的。Kemp Brown 写了一篇很棒的文章:使用脚本你可以适应显式上传包: Continuous Delivery for Cloud Services in Azure)
【讨论】:
【参考方案2】:其实问题出在我的网络连接上。
为了确定这个问题,我在 azure 上创建了具有相同 Windows 8.1 操作系统和相同 VS 的 VM。我试图从那里部署。部署工作正常。后者我断开了所有其他设备与我的互联网连接,并尝试从我的机器上发布。成功了!
所以结论是互联网连接缓慢,或者现在我们从 VS 发布的超时时间可能更短!
【讨论】:
以上是关于发布到 Azur 失败并出现 500 内部服务器错误的主要内容,如果未能解决你的问题,请参考以下文章
Tableau Server 企业日常问题 26TSM 命令失败,并出现“500 - 内部服务器”错误
Tableau Server 企业日常问题 26TSM 命令失败,并出现“500 - 内部服务器”错误
Tableau Server 企业日常问题 26TSM 命令失败,并出现“500 - 内部服务器”错误
针对 elmah.axd 的请求总是失败并返回 500 - 内部服务器错误。为啥? :-(
使用 PHP 时发布请求有效,但是当我将 Axios 与 React 一起使用时,它会失败并出现 500 内部错误,我该如何解决?