IIS发布中遇到的问题
部分网页中文乱码
一般来说,IIS发布出现中文乱码,多为web配置或网页编码配置错误,但部分网页中文发生乱码不属于这两种情况.
因为仅有少数网页发生乱码,可以判断出,乱码的网页和其他网页采用的编码可能不同,首先查看web和网页中是否配置了编码,尽量切换为UTF-8,确保兼容性.
但是比起这两部分的配置,IIS中网站的.NET全球化,经常回被遗忘,配置位置如图1.
图1
该设置默认跟随系统设置,该示例中默认为gb2312,如图2.想要确保兼容性,需要修改为UTF-8.
图2
找不到文件或没有文件读取权限
这种错误,多是因为IIS没有文件的读取权限造成的,可以通过给网站文件夹赋予Everyone的共享权限,然后再次访问网站查看是否成功打开测试.
解决这个问题的方案有多种,如下:
- 赋予文件夹IIS内置账号读写权限:
这种方法安全性最好,可以确保仅有IIS拥有该文件夹权限,具体操作如下:
选择设置应用程序池默认设置,如图3:
图3
查看进程模型的标识,如图4:
图4
查看内置账号,本次选择NetworkService作为示例,如图5:
图5
然后打开网页所在文件夹,右击选择属性->安全,新增用户名选择NETWORK SERVICE,权限按照默认选择读取和执行,列出文件夹内容,读取,特殊权限即可,如图6:
图6
注:赋予Users用户标准权限,即赋予所有用户该文件夹权限,也可使得IIS获得相应权限.
数据库无法连接
可以依次通过PING TELNET命令判断IP/URL,接口是否被防火墙拦截,如图7
图7
如使用两个命令经过查验,都没有问题,但连接数据库依旧不通或超时,则可以选择多次ping数据库的URL地址,查看IP是否变动,如IP有变动,则应考虑为防火墙未开通所有数据库服务器地址,造成连接同一URL不同IP时发生超时.
Web.config格式错误
Web.config产生格式错误报错时,应不止考虑格式错误问题,也有可能因为IIS组件缺失,造成无法识别相应配置节点,产生格式错误.