HTTP符号存储
要让符号存储可以通过Internet进行访问,需要同时配置包含符号文件的目录和Internet Information Service(IIS)。
配置目录
首先要选择用来作为符号存储的目录。在我们的例子中,使用c:\symstore,并且网络上服务器的名字称为\SymMachineName。必须设置权限以允许用户访问这个站点,并且必须为需要通过网络访问符号的用户添加用户组(security
group)。各种环境下需要使用的安全设置不一样。某些情况下,可以使用“Everyone”。
设置目录的权限
- 1.打开Windows Explorer。
- 2.展开我的电脑。
- 3.展开C驱动器。
- 4.右键点击c:\symstore并选择共享和安全(Sharing and Security)。
- 5.选中共享该文件夹(Share this folder)。
- 6.点击权限(Permissions)。
- 7.将需要访问的用户组添加到组或用户名称(Group or user names)中然后点击读取(Read)行的允许(Allow)按钮。使得他们具有可读权限。
- 8.点击确定(OK)退出权限设置。
- 9.点击确定(OK)退出Symstore属性设置。
这样,在另一台计算机上就可以使用srv*\\SymMachineName\symstore符号路径来访问了。还可以通过更多设置来进行权限认证或者供SymProxy使用。
关于创建符号存储的更多细节,查看SymStore。
配置IIS
Internet Information Services (IIS)必须创建虚拟目录并设置MIME类型才能用于符号访问。除此之外,还可以选择用户认证方式。
创建虚拟目录
- 1.在管理员工具(Administrative Tools)中打开Internet Information Services (IIS) Manager。
- 2.展开Web Sites。
- 3.右键点击Default Web Site或者要使用的站点名字。
- 4.选择New Virtual Director...。
- 5.点击Welcome页面的Next。
- 6.输入Symbols作为Alias并点击Next。
- 7.在Path中输入c:\SymStore并点击Next。
- 8.去掉Run scripts的选中状态 (建议)。
- 9.选中Browse (建议)。
- 10. 点击Next并且Finish退出虚拟目录向导。
配置MIME类型
- 1.右键点击Symbols虚拟目录并选择属性(Properties)。
- 2.选择HTTP Headers。
- 3.点击MIME Types。
- 4.点击New。
- 5.在Extension中输入*。
- 6.在MIME type中,输入application/octet-stream。
- 7.点击确定(OK)退出MIME Types对话框。
- 8.点击确定(OK)退出Symbols Properties对话框。
这时,IIS已经可以允许匿名用户访问符号文件了。还可以将IIS配置来使用Integrated Windows Authentication (IWA),这样WinDbg可以自动和IIS进行认证而不用提示终端用户。但是,SymSrv目前在连接到IIS时不支持Kerberos认证,所以Kerberos必须从选项中移除。
配置认证方式
- 1.在管理员工具(Administrative Tools)中,打开Internet Information Services (IIS) Manager。
- 2.右键点击Symbols虚拟目录并选择属性(Properties)。
- 3.点击Directory Security选项卡。
- 4.在Authentication and access control上点击Edit。
- 5.确认只有Integrated Windows Authentication被选中了。
- 6.确认Enable anonymous acceess没有被选中。
- 7.点击确定(OK)退出Authentication Methods对话框。
- 8.点击确定(OK)退出Symbols Properties。
要移除Kerberos认证,需要站点标识符。如果没有使用默认的站点(即站点"1"),那么必须通过选中Web Sites文件夹并且在右边的面板列出来的标识符中查找到需要的那个。将这些地方的"1"替换成正确的标识符数字。
移除Kerberos认证来强制使用NTLM认证
- 1.打开命令提示符窗口
- 2.切换到目录c:\inetpub\AdminScripts。
- 3.输入下面的内容,包括引号:
cscript adsutil.vbs set W3SVC/1/root/Symbols/NtAuthenticationProviders "NTLM"
IIS现在可以用来进行符号访问了。
Build machine: CAPEBUILD