我有一个网站位于 IIS 6.0 的虚拟目录中。在这个虚拟目录中,还有一个 P12 认证,我需要使用它来访问外部 Web 服务。当我尝试通过该站点访问此文件时,我收到“找不到文件”错误。
我已经验证该文件在那里并且已经镜像了我的本地开发环境以匹配生产并且在那里一切正常。
我非常有信心这是一个权限问题。
谁能指出我正确的方向?
谢谢!
默认情况下,IIS 6 将仅向请求客户端提供特定类型的文件(基于扩展名)。如果您是 P12 认证(我不确定那是什么)文件不是其中之一,那么 404 正是您应该收到的。
在您的 IIS 管理控制台中,您可以修改已处理和/或提供的文件类型列表。
听起来您可能正在尝试以编程方式访问此文件,在这种情况下,您需要提供更多信息 - 向我们展示尝试访问该文件的代码,也许还有异常
编辑:
根据您对文件位置的评论,您可以尝试按照以下方式进行操作:
File.Exists(Server.MapPath("/") + "DLWSCert.p12")
我发现异常的消息具有误导性。该消息说未找到文件,但该消息包含在 System.CryptogrphyException 中。最终,问题在于应用程序池帐户的权限。一旦这些设置正确,它就可以正常工作。