iis设置在哪里打开(设置在哪里打开)

记录Blazor server部署到iis时遇到的问题,边部署边记录边处理问题,好在最终是能正常访问了。

发布站点

在vs2022中,点击菜单“生成”->“发布”,在发布时选择好发布文件夹和目标运行时,比如部署在X64系统上时,就不要选择X86,这关系到后面下载哪个运行时。

iis设置在哪里打开(设置在哪里打开)

部署到IIS

打开IIS管理器,选中网站,点击“添加网站”,输入网站名称,应用程序池就自动和网站名称相同了,设置好路径和IP地址,就可以了。如果你运气很好,就能直接访问了,但是第一次还想一次部署成功的可能性较小[呲牙]

iis设置在哪里打开(设置在哪里打开)

HTTP Error 500.30 – ASP.NET Core app failed to start

iis设置在哪里打开(设置在哪里打开)

出现这个错误,最先需要的是安装一下运行时吧,官方地址https://dotnet.microsoft.com/zh-cn/download,选择所有.net8.0版本

iis设置在哪里打开(设置在哪里打开)

然后选择对应的asp.net core运行时就可以了,上面第一步选择是的X64,就选择X64版本就可以了。

iis设置在哪里打开(设置在哪里打开)

还有可能是站点文件夹没有IIS_user权限导致的,需要给它设置上IIS_user完全控制权。

iis设置在哪里打开(设置在哪里打开)

HTTP Error 500.31 – ANCM Failed to Find Native Dependencies

iis设置在哪里打开(设置在哪里打开)

上面搞完后又出现下面的错误了,继续解决。

还是运行时的问题,有可能依赖项丢失或损坏,或者就没有安装依赖项,还是重新装一次吧,这里选.net 8.0,下载地址https://dotnet.microsoft.com/zh-cn/download/dotnet/8.0;

iis设置在哪里打开(设置在哪里打开)

iis设置在哪里打开(设置在哪里打开)

安装完成后以为好了,结果又出现500.30错误了[捂脸],那就重新再安装一下运行时吧,发现安装完重启后还是不行。

开启错误日志

网上搜了下,其他导致IIS 500.30的错误有一百多种,具体哪一种得看自己遇到的具体是哪一种,只能看日志了,打开发布文件夹中的web.config文件,把stdoutLogEnabled设置为true就能显示日志文件了。

iis设置在哪里打开(设置在哪里打开)

看了日志文件后里面的主要内容就是说启用压缩中间件错误(ResponseCompression),打开program.cs文件,在build下面增加builder.Services.AddResponseCompression(),重新发布后发现竟然好了。

iis设置在哪里打开(设置在哪里打开)

那么为啥它在VS2022中直接运行时不会出错了,往下看发现它区分了是不是开发模式,开发模式下不压缩,所以也就不会报错了。

var app = builder.Build();
//判断是不是开发模式
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseResponseCompression();
}

美好的运行界面

iis设置在哪里打开(设置在哪里打开)

换一个有IP地址的

iis设置在哪里打开(设置在哪里打开)

在IIS中可以给站点多绑定几个,如https,虽然会提醒证书有问题,但还是可以用的

iis设置在哪里打开(设置在哪里打开)

#职场##挑战30天在头条写日记##冬日生活打卡季#

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至QQ邮箱:3628405936@qq.com 举报,本站将立刻删除。
(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注