WebLogic 在某些文件上出现 403 错误,但在同一目录中的其他文件上没有错误

403 error with WebLogic on some files, but no errors on other files in the same directory

我一直遇到一个问题,在新安装的 PeopleSoft 上,我的 PIA 似乎没有与现有安装相同的文件。当我访问我的 PeopleSoft 站点时,我收到一堆 Javascript 错误,关于缺少函数。当我在新设置的环境中查看 <PS_HOME>\webserv\peoplesoft\applications\peoplesoft\PORTAL.war\<SITE_NAME>\cache 时,Javascript 文件的内容与现有环境中的内容不匹配。

所以我决定尝试将 cache 文件夹从现有环境复制到新环境以尝试排除故障。现在的问题是,当加载 PeopleSoft 页面时,该目录中的许多 .gif 文件出现 403 错误。该站点似乎能够访问 cache 文件夹中的一些文件,但不是全部。

例如,如果我在浏览器的地址栏中输入 myserver.mydomain.com/cs/myenvironment/cache/PT_NAV_BULLET_1.gif,我会收到 403 错误。

但是如果我输入 myserver.mydomain.com/cs/myenvironment/cache/PT_NAV_GO.gif,我可以毫无问题地转到那个图像。

可能导致访问差异的原因是什么? WebLogic 如何确定网站可以访问哪些文件?

/cs/ 路径是一个 Servlet。 PeopleSoft 将文件从数据库移动到缓存中。对于标准安装,通常会清除 ../cache/ 的内容并让 /cs/ servlet 根据需要进行恢复。您不应该自己填充该目录。

当 PeopleSoft 为页面构建 HTML 时,它会创建资源名称,例如 PT_NAV_BULLET_1.gif。应用程序设计器中的图像定义是 PT_NAV_BULLET。 _1 是缓存版本。

当我不是第一次登录到 PeopleSoft 时从缓存目录中请求文件时遇到 403。这是有道理的,因为 /cs/ servlet 正在处理请求,它不知道你是谁。

尝试清除 ../cache/ 目录,重新启动网络服务器,然后登录 PeopleSoft。它应该都按预期工作。登录后,如果你查看缓存目录,你会发现它突然有很多 *.css、*.js、*.png 文件。