最近在一个项目中涉及到了虚拟目录与UNC路径的问题,总结出来分享给大家。
问题描述
某客户定制化项目(官网),有一个图片上传的功能。客户的Web机器有10台,通过F5负载均衡分摊请求。
假设这10台机器的代号分别为:#1,#2,#3,#4,#5,#6,#7,#8,#9,#10
在没有应用虚拟目录时,访问者A访问官网,可能被分配至机器#1,上传图片,图片被保存在机器#1中;
再次查看时,访问者A可能被F5分配至机器#2,机器#2中没有这张图片,图片无法显示 --> 页面故障。
解决方案
服务器环境:Windows Server 2008 R2 Enterprise Service Pack 1,IIS7(7601)
1. 在所有web服务器上建立windows账户site_share,密码为123456(注意各服务器建立的用户名和密码必须相同);隶属于 IIS_IUSRS组
2. 在文件存储服务器(如果有?或者这里我们从10台机器选一台,如#10机器),站点根目录下,新建文件夹"ImgShare",共享此文件夹,
授予Everyone和site_share用户读写权限。