This discussion is archived
2 Replies Latest reply: Nov 12, 2013 12:04 AM by a601223f-7370-41fa-8cd1-410900d01849 RSS

Malformed URL in iPlanet Web Server 7.0.15 causes a "501 Method not allowed

616306 Newbie
Currently Being Moderated
Hi,

We have a Oracle iPlanet Web Server 7.0.15 B04/19/2012 configured as a load balancer of a Oracle GlassFish Server 3.1.2.2 (build 5) with one cluster composed by two nodes.

In our applications we are experiencing random "501 Method not allowed" errors from the GlassFish Server, and after an investigation on debug logs, sniffer and the forum we don't find the reason for this errors.

Here I post our logs.

h2. Web Server access logs:

xx.xx.xx.xx - - [15/Mar/2013:09:59:22 +0100] "GET /application/ HTTP/1.1" 302 191

h2. Oracle GlassFish Server logs:

127.0.0.1 - - [15/Mar/2013:09:59:22 +0100] "GET /application/index.html HTTP/1.1" 200 4645
127.0.0.1 - - [15/Mar/2013:09:59:22 +0100] "POST /application/auth.html HTTP/1.1" 302 181
127.0.0.1 - - [15/Mar/2013:09:59:22 +0100] "=text
0

GET /application/ HTTP/1.1" 501 1409

h2. Web Server error log with FINEST level:

[15/Mar/2013:] finest (27403): Checking accelerator cache for /application/
[15/Mar/2013:] finest (27403): Processing /application/ for xx.xx.xx.xx using NSAPI
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, process-uri-objects reports: processing objects for URI /application/
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, process-uri-objects reports: processing object name="default"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true" Directive="AuthTrans" magnus-internal="1"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true" Directive="AuthTrans" magnus-internal="1" returned -2 (REQ_NOACTION)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="name-trans-passthrough" name="lbplugin" config-file="/dades/sjsas/webserver7/https-appserver/config/loadbalancer.xml" Directive="NameTrans"
[15/Mar/2013:] fine (27403): debug reports: Entering into method : name_trans_lbplugin
[15/Mar/2013:] fine (27403): debug reports: Exiting out of method : name_trans_lbplugin
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="name-trans-passthrough" name="lbplugin" config-file="/dades/sjsas/webserver7/https-appserver/config/loadbalancer.xml" Directive="NameTrans" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, process-uri-objects reports: processing object name="lbplugin"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="uri-clean" Directive="PathCheck"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="uri-clean" Directive="PathCheck" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="find-pathinfo" Directive="PathCheck"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="find-pathinfo" Directive="PathCheck" returned -2 (REQ_NOACTION)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="find-index-j2ee" Directive="PathCheck"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="find-index-j2ee" Directive="PathCheck" returned -2 (REQ_NOACTION)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="find-index" index-names="index.html,home.html,index.jsp" Directive="PathCheck"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="find-index" index-names="index.html,home.html,index.jsp" Directive="PathCheck" returned -2 (REQ_NOACTION)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="deny-existence" path="*/WEB-INF/*" Directive="PathCheck"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="deny-existence" path="*/WEB-INF/*" Directive="PathCheck" returned -2 (REQ_NOACTION)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="force-type" type="magnus-internal/lbplugin" Directive="ObjectType"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="force-type" type="magnus-internal/lbplugin" Directive="ObjectType" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="type-j2ee" Directive="ObjectType"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="type-j2ee" Directive="ObjectType" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="type-by-extension" Directive="ObjectType"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="type-by-extension" Directive="ObjectType" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="force-type" type="text/plain" Directive="ObjectType"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="force-type" type="text/plain" Directive="ObjectType" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing type="magnus-internal/lbplugin" fn="service-passthrough" Directive="Service"
[15/Mar/2013:] fine (27403): debug reports: Entering into method : service_lbplugin
[15/Mar/2013:] fine (27403): debug reports: /application/
[15/Mar/2013:] fine (27403): debug reports: Nx7A
[15/Mar/2013:] fine (27403): for host xx.xx.xx.xx trying to GET /application/, service-passthrough reports: remote server returned error code 501
[15/Mar/2013:] fine (27403): debug reports: Exiting out of method : service_lbplugin
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: type="magnus-internal/lbplugin" fn="service-passthrough" Directive="Service" returned 0 (REQ_PROCEED)
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: executing fn="flex-log" Directive="AddLog"
[15/Mar/2013:] finest (27403): for host xx.xx.xx.xx trying to GET /application/, func_exec reports: fn="flex-log" Directive="AddLog" returned 0 (REQ_PROCEED)

Compared with a correct request there's one different line:
[15/Mar/2013:] fine (27403): for host xx.xx.xx.xx trying to GET /application/, service-passthrough reports: remote server returned error code 501

h2. Wireshark TCP/IP dialog

POST /application/auth.html HTTP/1.1
Host: appserver.urv.cat
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://appserver.urv.cat/application/index.html
Cookie: JSESSIONID=4e998879431b98318a4f88b30bb8; JROUTE=Nx7A
Content-Type: application/x-www-form-urlencoded
Content-Length: 46

url=%2Findex.html&userName=TECNIC&password=passHTTP/1.1 302 Moved Temporarily
Server: Oracle-iPlanet-Web-Server/7.0
Date: Thu, 07 Mar 2013 12:53:41 GMT
X-powered-by: Servlet/3.0 JSP/2.2 (Oracle GlassFish Server 3.1.2.2 Java/Sun Microsystems Inc./1.6)
Location: http://appserver.urv.cat/application/
Content-type: text/html;charset=UTF-8
Content-language: ca-ES
Content-length: 181
Date: Thu, 07 Mar 2013 12:53:41 GMT

<html>
<head><title>Document moved</title></head>
<body><-h1>Document moved</h-1>
This document has moved here.<p>
</body>
</html>
GET /application/ HTTP/1.1
Host: appserver.urv.cat
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:12.0) Gecko/20100101 Firefox/12.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: http://appserver.urv.cat/application/index.html
Cookie: JSESSIONID=4e998879431b98318a4f88b30bb8; JROUTE=Nx7A

HTTP/1.1 501 Method =text 0 GET is not defined in RFC 2068 and is not supported by the Servlet API
Server: Oracle-iPlanet-Web-Server/7.0
Date: Thu, 07 Mar 2013 12:53:41 GMT
X-powered-by: Servlet/3.0 JSP/2.2 (Oracle GlassFish Server 3.1.2.2 Java/Sun Microsystems Inc./1.6)
Content-type: text/html;charset=UTF-8
Content-length: 1349
Date: Thu, 07 Mar 2013 12:53:41 GMT

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><title>Oracle GlassFish Server 3.1.2.2 - Error report</title><style type="text/css"><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}HR {color : #525D76;}--></style> </head><body>< h-1 >HTTP Status 501 - Method =pass

0

GET is not defined in RFC 2068 and is not supported by the Servlet API </h-1><hr/><p><b>type</b> Status report</p><p><b>message</b>Method =pass

0

GET is not defined in RFC 2068 and is not supported by the Servlet API </p><p><b>description</b>The server does not support the functionality needed to fulfill this request (Method =pass

0

GET is not defined in RFC 2068 and is not supported by the Servlet API ).</p><hr/><h-3>Oracle GlassFish Server 3.1.2.2</h-3></body></html>GET /favicon.ico HTTP/1.1


h2. Ending

We have found a similiar error in this post: random 501,403 errors and HTTP2228 and HTTP3068 errors regarding a Sun Java System Web Server 7.0u5, and they finally found that there was a bug. It's possible that the bug is not already solved 2 years after?

Do you have some idea of what could happen?

Thanks a lot

Edited by: loTomas on Mar 18, 2013 9:15 AM to add WireShark log

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points