[英]Unable to deploy ASP.NET Core app to IIS - Bad Gateway
一直在努力使其工作,我有一個標准的.NET Core API,我想在遠程IIS服務器上托管,問題是大多數教程都是針對ASP.NET 5 / vNext的,並且不解釋會發生什么情況一旦您運行dotnet publish
。 我的裝訂是正確的,但是我不確定是否指向正確的文件夾。
在我的輸出文件夾中,我有publish和wwwroot以及config.json
和其他一些json文件。 當我將IIS指向wwwroot文件夾時,我得到:
502-Web服務器在充當網關或代理服務器時收到無效響應。
如果我嘗試將其指向任何其他文件夾,則會得到404。 我已經安裝了HttpPlatformHandler 1.2。 我的project.json
如下:
{
"compilationOptions": {
"debugType": "portable",
"emitEntryPoint": true,
"preserveCompilationContext": true
},
"publishOptions": {
"include": [
"wwwroot"
]
},
"dependencies": {
"Microsoft.AspNetCore.Authentication.Cookies": "1.0.0-*",
"Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0-*",
"Microsoft.AspNetCore.Diagnostics": "1.0.0-*",
"Microsoft.AspNetCore.Hosting": "1.0.0-*",
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0-*",
"Microsoft.AspNetCore.IISPlatformHandler": "1.0.0-*",
"Microsoft.AspNetCore.Mvc": "1.0.0-*",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-*",
"Microsoft.AspNetCore.StaticFiles": "1.0.0-*",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0-*",
"Microsoft.Extensions.Configuration.Json": "1.0.0-*",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-*",
"Microsoft.Extensions.Logging.Console": "1.0.0-*",
"Microsoft.Extensions.Logging.Debug": "1.0.0-*",
"OpenIddict.Core": "1.0.0-*",
"OpenIddict.EF": "1.0.0-*",
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-rc2-3002700"
}
},
"frameworks": {
"netcoreapp1.0": {
"imports": [
"portable-net45+wp80+win8+wpa81+dnxcore50",
"portable-net451+win8"
]
}
},
"tools": {
"Microsoft.AspNetCore.Server.IISIntegration.Tools": {
"version": "1.0.0-*",
"imports": "portable-net45+wp80+win8+wpa81+dnxcore50"
}
},
"scripts": {
"postpublish": "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%"
},
"content": [
"wwwroot",
"config.json",
"web.config"
],
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
]
}
我將這個示例的元素用於我的project.json
。
我將IIS指向應用程序文件夾的根文件夾,而不是wwwroot,它起作用了。
IIS服務器需要具有DotNetCore.1.0.0.RC2-WindowsHosting.exe
當我在IIS上部署站點時,在Windows 2012 R2服務器上遇到相同的問題; 網關問題。 是的,我正在使用.Net Core 2.0。 在IIS上,我有應用程序池“無托管代碼”。 托管管道“集成”,仍然存在相同的問題。 解決方法是在服務器上安裝DotNetCore.2.0.0-WindowsHosting.exe並成功:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.