Briefly, this error occurs when an invalid regular expression (regex) is used in the Elasticsearch setting for Cross-Origin Resource Sharing (CORS). The error message indicates that the regex used in the ‘SETTING_CORS_ALLOW_ORIGIN’ key is incorrect. To resolve this issue, you should review and correct the regex pattern. Make sure it adheres to the standard regex syntax. Also, ensure that the ‘origin’ variable is correctly defined and does not contain any characters that could disrupt the regex pattern.
This guide will help you check for common problems that cause the log ” Bad regex in [” + SETTING_CORS_ALLOW_ORIGIN.getKey() + “]: [” + origin + “] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: .
Log Context
Log “Bad regex in [” + SETTING_CORS_ALLOW_ORIGIN.getKey() + “]: [” + origin + “]” class name is CorsHandler.java. We extracted the following from Elasticsearch source code for those seeking an in-depth context :
builder = CorsHandler.Config.Builder.forOrigins(RestUtils.corsSettingAsArray(origin)); } else { builder = CorsHandler.Config.Builder.forPattern(p); } } catch (PatternSyntaxException e) { throw new SettingsException("Bad regex in [" + SETTING_CORS_ALLOW_ORIGIN.getKey() + "]: [" + origin + "]"; e); } } if (SETTING_CORS_ALLOW_CREDENTIALS.get(settings)) { builder.allowCredentials(); }