当前位置:  开发笔记 > 编程语言 > 正文

ASP.net 5在Live Windows Server上自托管 - EACCES权限被拒绝了吗?

如何解决《ASP.net5在LiveWindowsServer上自托管-EACCES权限被拒绝了吗?》经验,为你挑选了1个好方法。

我的印象是,我们实际上可以在实时服务器上运行一个控制台应用程序,该应用程序可以监听和提供数据(如果是为了这个目的,则是网页).这样,我们就不必在IIS上托管我们的Web应用程序了.我一直认为这就是"在你自己的过程中托管网络应用程序"的意思.

这是我认为相关的project.json的一部分:

  "dependencies": {
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:5010"
  },

如果我转到命令提示符,dir到项目的根目录,然后运行dnx web,是的,确实,控制台应用程序正在运行,我可以转到我的浏览器并键入http:// localhost:5010并查看网站.

但是,当我将该URL更改为实际URL时(是的,我已经将DNS指向我的服务器以获取该URL),我将收到错误消息EACCES permission denied.

如果我们可以"自我托管"但只能使用localhost,这似乎只对本地开发有利.如果它不能用于实时/制作,为什么能够"在我自己的过程中自我托管"?

我需要做什么?我是否需要为特定文件夹设置一些权限?哪个用户/组,哪个权限,以及哪个文件夹?我在项目的根目录上尝试了IIS_IUSRS,当然,这不起作用,因为我还想绕过IIS.

任何帮助将不胜感激.



1> adrian..:

对于后来发现此问题的人:

当您启动Kestrel服务器时,您需要确保没有在该端口上侦听的内容,否则它将无法启动.如果你想在标准的http(端口80)上托管一些东西,IIS就是一个明显的罪魁祸首.您需要停止在该端口上运行的任何其他内容,或使用它将流量转发到您的Kestrel服务器上.

有关直接在IIS中托管ASP.NET 5项目的更多信息,请访问:https://docs.asp.net/en/latest/publishing/iis.html

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有