Support Article
REST Service: "Multiple host names in header X-Forwarded-Host"
SA-98417
Summary
Error is generated in the log when some senders invoke REST Service in the Pega application. Service monitoring does not capture this request.
Error Messages
[-XXX.XX.XX.XX:8080-6] [STANDARD] [ ] [DLSales:01.01.01] (fferDecision.DL_Int_FOS.Action) ERROR dluappsit2251|XXX.XX.XX.XXX|Rest|DLSales|v1|decisionb9b9e36c1a5d1be22158df398f2e29b8|A8S71FHDYQMSD5ZSC71WQ8X5YUW4SF4TH -
[-XXX.XX.XX.XX:8080-6] [STANDARD] [ ] [ ] (web.impl.WebStandardImpl) ERROR - XXX.XX.XX.XXX: Unhandled error in ETier invocation
com.pega.pegarules.pub.context.PRSecurityException: Mutiple host names in header X-Forwarded-Host
at com.pega.pegarules.session.external.engineinterface.etier.engine.HttpRequestMapper.getURLfromXFHeaders(HttpRequestMapper.java:625) ~[prenginext.jar:?]
at com.pega.pegarules.session.external.engineinterface.etier.engine.HttpRequestMapper.getModifiedData(HttpRequestMapper.java:235) ~[prenginext.jar:?]
at com.pega.pegarules.session.external.engineinterface.etier.engine.HttpRequestMapper.buildRequestorDataFromHttpRequest(HttpRequestMapper.java:155) ~[prenginext.jar:?]
at com.pega.pegarules.integration.engine.internal.services.http.HTTPService.invoke(HTTPService.java:176) ~[printegrint.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl._invokeEngine_privact(EngineImpl.java:331) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:274) ~[prprivate.jar:?]
at com.pega.pegarules.session.internal.engineinterface.etier.impl.EngineImpl.invokeEngine(EngineImpl.java:251) ~[prprivate.jar:?]
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngineInner(JNDIEnvironment.java:278) ~[prpublic.jar:?]
at com.pega.pegarules.priv.context.JNDIEnvironment.invokeEngine(JNDIEnvironment.java:223) ~[prpublic.jar:?]
at com.pega.pegarules.web.impl.WebStandardImpl.makeEtierRequest(WebStandardImpl.java:678) ~[prwebj2ee.jar:?]
at com.pega.pegarules.web.impl.WebStandardImpl.doPost(WebStandardImpl.java:394) ~[prwebj2ee.jar:?]
at sun.reflect.GeneratedMethodAccessor52.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_141]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_141]
at com.pega.pegarules.internal.bootstrap.PRBootstrap.invokeMethod(PRBootstrap.java:370) ~[prbootstrap-7.3.1-218.jar:7.3.1-218]
at
.
.
.
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) ~[jboss-as-web-7.5.7.Final-redhat-3.jar!/:7.5.7.Final-redhat-3]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:150) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:854) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:926) ~[jbossweb-7.5.15.Final-redhat-1.jar!/:7.5.15.Final-redhat-1]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_141]
[egaRULES-MasterAgent] [STANDARD] [ ] [ ] (internal.async.Agent) INFO - System date: Total memory: 8,500,805,632 Free memory: 4,946,699,696 Requestor Count: 20 Shared Pages memory usage: 0% Current number of threads: 212
[-XXX.XX.XX.XX:8080-6] [TABTHREAD4] [ ] [VGSFW_IG:03.01.01] (pages.DeclarativePageUtilsImpl) WARN fargo|XXX.XX.X.XXX iglinka - Required parameter'ServiceType' for data page 'D_ServiceMethods' cannot be blank.
[XXX.XX.XX.XX:8080-13] [STANDARD] [ ] [DLSales:01.01.01] (fferDecision.DL_Int_FOS.Action) ERROR dluappsit2251|127.0.0.1|Rest|DLSales|v1|decisionb9b9e36c1a5d1be22158df398f2e29b8|A8S71FHDYQMSD5ZSC71WQ8X5YUW4SF4TH -
Steps to Reproduce
- Create a REST Service in the Pega application.
- Invoke the Pega application through a router application and Apache.
Root Cause
A defect or configuration issue in the operating environment.
Multiple host names were present in the X-Forwarded-Host header.
Resolution
- Apply HFix-58309.
- Use the below logger:
com.pega.pegarules.session.external.engineinterface.etier.engine.HttpRequestMapper
Published January 20, 2020 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.