IIS发布.net core项目注意事项

2021-08-20  本文已影响0人  AI时代岁月笔记

VS2019下.net core的项目发布到IIS后、无法打开页面,显示如下:

在IIS对应的网站点"模块“,完全点不开,报错。按网上一些说法是权限问题,一一排除,皆不行。后来发现是要安装Asp.net core Module

注:以下是.net core3.1的截图,若是.net5则要下载相应的版本

下载安装完成后,再进入IIS, 在对应的网站看”模块“不报错了,可以正常进入了,而且能看到AspNetCoreModuleV2了

最终发布到IIS的asp.net core网站也可以正常打开了


关于访问

以Swagger的形式发布,在IIS浏览时只会出这个地址http://localhost:8031请手工加上api/index.html,即 http://localhost:8031/api/index.html就可以浏览了

也可以用http://127.0.0.1:8031/api/index.html访问swagger 的api界面


Windows Server2016如果安装了WebDav组件会导致.net core使用put、Delete调用时出现405的错误

用服务器或nginx配置了处理跨域,GET、POST的跨域问题解决了,但PUT、DELETE仍然显示跨域,也要用以下办法处理

解决办法,修改后发布的web.config文件,移除WebDav模块,请参见以下加粗字体

<?xml version="1.0" encoding="utf-8"?>

<configuration>

  <location path="." inheritInChildApplications="false">

    <system.webServer>

<modules>

<remove name="WebDAVModule" />

</modules>

      <handlers>

<remove name="WebDAV" />

        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />

      </handlers>

      <aspNetCore processPath="dotnet" arguments=".\AllWork.Web.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />

    </system.webServer>

  </location>

</configuration>

<!--ProjectGuid: 54F2CD82-89C4-43AD-9331-423ED81CD577-->

发布IIS若是域用户时要带上域的前缀,否则

上一篇 下一篇

猜你喜欢

热点阅读