题 Weblogic错误403 - 禁止


我正在尝试在weblogic上运行Java EE应用程序。该应用程序在Tomcat上运行正常。我已经定义了war文件以包含weblogic.xml。该文件包含以下代码: -

<container-descriptor>
    <show-archived-real-path-enabled>true</show-archived-real-path-enabled>
</container-descriptor>

我还更改了应用程序的属性文件中的配置,以反映容器正在侦听的端口。 server.port = 7001 server.modjk.enabled = FALSE

我的web.xml文件包含以下代码: -

<servlet>
    <servlet-name>olatservlet</servlet-name>
    <servlet-class>org.olat.core.servlets.OLATServlet</servlet-class>

    <!-- Set the load order -->
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>olatservlet</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>olatservlet</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

当我最初在weblogic 11g上运行war文件时,我得到了一个nullpointer异常。但是,当我从lib文件夹中删除XerceImpl.jar时,我可以部署该文件。现在我能够成功部署应用程序。我将weblogic中的上下文根命名为war文件的名称。当我尝试在其测试选项卡中打开weblogic生成的链接时,出现以下错误: -

错误403 - 禁止

来自RFC 2068超文本传输​​协议 - HTTP / 1.1:

10.4.4 403禁止

服务器理解请求,但拒绝履行请求。授权无效,请求不应重复。如果请求方法不是HEAD并且服务器希望公开为什么请求没有得到满足,那么它应该描述实体中拒绝的原因。当服务器不希望确切地说明请求被拒绝的原因,或者没有其他响应适用时,通常会使用此状态代码。

我想知道是否有人可以告诉我如何解决这个问题。


12
2018-06-14 03:03


起源


也许迟到了,你看过安全日志和服务器日志吗?当您尝试访问该应用程序时,您是否在这些文件中获得异常? - Nicolas Pepinster


答案:


我知道回答这个问题已经很晚了。但我正在回答我的小知识,希望能帮助那里的人。

您应该在web.xml文件中的welcome-file-list中定义起始页面。例如,如果client.jsp是运行项目时要显示的页面,则web.xml中的welcome-file-list中的第一行文件应该是

<welcome-file-list>
    <welcome-file>client.jsp</welcome-file>
    <welcome-file>index.html</welcome-file>
 </welcome-file-list>

6
2017-08-08 23:04



我可以解决编辑web.xml文件的问题。在我的例子中是一个jsf配置。 <servlet><br> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>*.xx</url-pattern> </servlet-mapping> - ferreirabraga


我知道这已经很晚了,但我也遇到了同样的问题,经过谷歌搜索后,我发现原因并且我决定将其发布给其他可能遇到同样问题的人。这个网页给了我一个提示:

错误403解释

默认情况下,WebLogic禁用目录浏览,因此如果您有一个index.html作为主页并且键入的网站(例如example.com)

http://localhost:7001/example.com, 

默认情况下,weblogic不会自动为您检索主页。你需要输入完整的路径,即

http://localhost:7001/example.com/index.html.

或者,您需要在weblogic中启用目录浏览。无论如何,这就是发生在我身上的事。


3
2017-10-27 06:03





如果您错过了在weblogic.xml中添加相应的安全配置,您将获得“403禁止。服务器理解请求,但拒绝履行请求。“错误。

因此,确保除了配置你的 web.xml中 用“安全约束“,”登录,配置“和”安全角色“设置,你也有”安全角色分配“配置 weblogic.xml中,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<wls:weblogic-web-app xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-web-app" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd http://xmlns.oracle.com/weblogic/weblogic-web-app http://xmlns.oracle.com/weblogic/weblogic-web-app/1.8/weblogic-web-app.xsd">
     <wls:weblogic-version>12.2.1</wls:weblogic-version>
     <wls:context-root>SomeApp</wls:context-root>
     ***************
     ***************
     <wls:security-role-assignment>
         <wls:role-name>someGroupeDefinedInWebLogicServer</wls:role-name>
         <wls:principal-name>someUserDefinedInWebLogicServer</wls:principal-name>
     </wls:security-role-assignment>
     ***************
     ***************
</wls:weblogic-web-app>

希望,这个肝脏。


2
2017-12-15 10:55





你可以检查一下你的web.xml文件,不遵循xml语法,意味着有效的xml文件,甚至像extra <或>这样的小错误导致这种问题(我遇到过同样的问题)


0
2018-06-19 08:49



我检查了我的xml文件,但找不到任何语法错误。此外,代码在Tomcat中运行良好。 - user1439090


我与我创建的服务提供商之一有同样的问题。

我试图通过我的网络浏览器访问它,我找不到我之前收到此错误消息的原因,直到我理解有效服务器真正理解了请求但是为了让你得到响应,你必须指定正确的格式(或mediatype)能够读取它然后服务器将给你响应。

为了sumarize, 服务提供者 提供了一个“应用程序/ XML“在我要求的时候回应”应用程序/ HTML“直到我建立自己的 客户消费者 那是期待“应用程序/ XML“然后服务器接受回复回复。


0
2018-03-20 09:00





您可以在web.xml文件的末尾添加此代码

<welcome-file-list>
    <welcome-file>faces/my_page.jspx</welcome-file>
</welcome-file-list>

或者如果您使用的是JDeveloper,您可以转到Overview选项卡,Pages和欢迎文件,将路径添加到您想要通过defalut打开的页面。 此外,您应该在页面名称前添加“faces /”,这样做这是您创建的页面的默认路径。


-1
2018-01-29 21:45