WAC Error - The character [_] is never valid in a domain name.
search cancel

WAC Error - The character [_] is never valid in a domain name.

book

Article ID: 236367

calendar_today

Updated On:

Products

CA Client Automation - IT Client Manager CA Client Automation

Issue/Introduction

When opening Web Admin Console following error appears :

HTTP Status 400 – Bad Request
Type Exception Report

Message The character [_] is never valid in a domain name.

Description The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).

Exception

java.lang.IllegalArgumentException: The character [_] is never valid in a domain name.
 org.apache.tomcat.util.http.parser.HttpParser$DomainParseState.next(HttpParser.java:994)
 org.apache.tomcat.util.http.parser.HttpParser.readHostDomainName(HttpParser.java:890)
 org.apache.tomcat.util.http.parser.Host.parse(Host.java:66)
 org.apache.tomcat.util.http.parser.Host.parse(Host.java:40)
 org.apache.coyote.AbstractProcessor.parseHost(AbstractProcessor.java:300)
 org.apache.coyote.ajp.AjpProcessor.prepareRequest(AjpProcessor.java:994)
 org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:503)
 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:818)
 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1627)
 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 java.lang.Thread.run(Thread.java:748)

 

Environment

Client Automation 14.5 and above

Cause

This problem occurs if there is an underscore (_) character in Domain Name

Example :

http://<Domain_Name>/wac

Resolution

Client Automation 14.5 is using tomcat 8.5.56

Starting tomcat 8.5.31, tomcat implements strict RFC-compliant hostnames as a security precaution. HTTP RFCs require host-header validation and therefore Tomcat performs that validation

https://tomcat.apache.org/tomcat-8.5-doc/changelog.html
"Enable strict validation of the provided host name and port for all connectors. Requests with invalid host names and/or ports will be rejected with a 400 response. (markt)"
Underscore characters are not permitted in domain names in accordance with RFC 1035, which only allows letters, digits and hyphens. As such, you cannot register a domain name with an underscore character.

The solution is to remove character _ in the Domain Name or create an alias without _ character
 
Example:

Replace
http://<Domain_Name>/wac
By
http://<DomainName>/wac