我有两个应用程序:
现在它们分别以www.example.com/X.Web和www.example.com/X.Api的形式提供。我的客户希望Web应用程序可以像www.example.com一样使用。
我在我的测试环境中尝试了一个快速解决方案 - 我只是将X.Web文件夹的内容移动到wwwroot并且没有任何问题,一切正常。
但是,在我的生产服务器上,Web应用程序正常工作 - htmls,脚本和样式正确加载,但X.Api停止工作 - 我得到回应
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> IIS 502.5 Error </title>
<style type="text/css"></style>
</head>
<body>
<div id = "content">
<div class = "content-container">
<h3> HTTP Error 502.5 - Process Failure </h3>
</div>
<div class = "content-container">
<fieldset>
<h4> Common causes of this issue: </h4>
<ul>
<li> The application process failed to start </li>
<li> The application process started but then stopped </li>
<li> The application process started but failed to listen on the configured port </li>
</ul>
</fieldset>
</div>
<div class = "content-container">
<fieldset>
<h4> Troubleshooting steps: </h4>
<ul>
<li> Check the system event log for error messages </li>
<li> Enable logging the application process’ stdout messages </li>
<li> Attach a debugger to the application process and inspect </li>
</ul>
</fieldset>
<fieldset>
<h4> For more information visit:
<a href="https://go.microsoft.com/fwlink/?linkid=808681">
<cite> https://go.microsoft.com/fwlink/?LinkID=808681 </cite>
</a>
</h4>
</fieldset>
</div>
</div>
</body>
</html>
每个请求。在我的事件日志中,我可以看到:
Application 'MACHINE/WEBROOT/APPHOST/DEFAULT WEB SITE/X.API' with
physical root 'C:\inetpub\wwwroot\X.Api\' failed to start process
with commandline '"dotnet" .\X.Web.dll', ErrorCode =
'0x80004005 : 80008081.
问题是: 1)什么可能是一个问题 2)为什么在事件日志中我可以看到...无法启动进程 使用命令行&#39;&#34; dotnet&#34; ** ** X.Web.dll ... 3)有没有其他方法来实现我的客户的这个简单要求
答案 0 :(得分:1)
所以,为了确保我理解你,最初,你有:www.example.com/X.Web和www.example.com/X.Api,X.Web正在调用X.Api,对?然后你直接将x.Web文件从wwwroot / X.Web移动到wwwroot,它在你的env上工作但不在生产环境上工作?您使用的是哪个版本的IIS?
1 /也许是个想法:通过移动X.Web,您可能已经更改了运行X.Web应用程序的用户,使其无法启动您的ASP.NET Core应用程序。
2 /我对1的建议可以解释,凭证问题。
3 /我绝对会避免将X.Web文件直接放在wwwroot下,而是将IIS配置为从www.example.com重定向到www.example.com/X.Wep。你可以使用URL Rewrite module(在这种情况下可能是一种矫枉过正,但在我看来这是一个非常好的模块,因为它可以在各种情况下提供帮助)或者只是将IIS配置为重定向,这个SO线程可以帮助{ {3}}