发布日期:2025-11-10 20:43浏览次数:
今天搞IIS10折腾了一天,差点把电脑砸了。本来以为装完就能跑程序,结果踩了15个坑,得把过程记下来给你们避雷。
部署完程序点浏览,直接弹个黄底黑字:"HTTP 错误 500.19"。翻日志说配置文件没权限,我就懵了:
"我管理员账号装的还能没权限?"
对着屏幕骂了十分钟,突然想起之前手贱改过应用池账号。
打开应用池设置戳进"高级设置",找到"标识"那一栏,原来默认是ApplicationPoolIdentity,不知道啥时候被我改成LocalSystem了。 改回来点确定,刷新页面还是报错。
气得我灌了半杯冰水,重新翻错误详情才发现新提示:
"未能加载模块 AspNetInitClrHost"
这玩意儿听都没听过,跑去服务器管理器瞎点,在"添加角色功能"里勾了.NET Core托管模块,装完重启IIS。
这回直接跳出个404,算是有进步。
地址栏敲得啪啪响,服务器就是装死。
先把网站基本设置里的"连接为"改成具体用户密码(之前图省事用的应用用户),再把处理程序映射里.net core的模块加回来。
点开功能视图里的"目录浏览",右击选择开启。F5一按——终于不是404了!结果跳出来个空白页。
查日志看到"静态文件中间件未加载",才想起项目里有个wwwroot文件夹。打开IIS的MIME类型设置,手动添加了.json/.woff2这些新格式。
还不行就祭出大招:关掉IE增强安全配置(这玩意儿在服务器管理器安全策略里藏得贼深)。
重启服务器后总算看到网页框架,结果登录按钮点不动。
这回报错提示无法写入缓存目录。
直接冲去C盘,找到项目的临时文件夹右击属性,在安全选项卡里给IIS_IUSRS组加了完全控制权。
顺手把应用池的"加载用户配置文件"改成True,缓存文件终于能生成了。
登录成功跳转就掉身份,气得我差点薅掉键盘F5键。
翻论坛有人说要关掉ARR代理(在服务器节点功能视图里),关完还是丢Session。
发现是网站绑定里http和https混用搞鬼,把http绑定的主机名删掉只留https,勾上"需要SSL",世界瞬间清净。
现在看IIS管理器就跟看仇人似的。记住每个改过的地方拍屏幕照,鬼知道下次重装系统又要折腾多久。