HTTP 400:未声明明文文档的字符编码
HTTP 400: The character encoding of the plain text document was not declared
因为我已经使用 AWS Fargate、AWS codepipeline 和代码构建功能在 UAT 环境中部署了基于 struts 的 Java 应用程序。
我在访问应用程序的 JSP 页面时收到 HTTP 400 错误。 url 就像-
https://uat.xxx.org/xxx-partner/contract/suxxxriodxxxxxPairsAction.do?target=prepareSuxxxriodxxxxxPairs&contractIdSubPeriodId=416|837
在 EC2 实例上作为 ear 部署的生产环境中的相同应用程序运行良好。
使用 AWS docs 我尝试对 HTTP 400 进行故障排除,但没有帮助。
因为请求大小在16k以下。
Fargate 的代码构建使用 Wildfly 18.0 进行部署
而 EC2 使用 JBoss 7.1.1 进行部署。
Aws 与此错误无关。
Wildfly 18.0 无法识别管道运算符。
还有'|'根据 HTTP 的 RFC1738 规范,(管道)字符是不安全的。
因此这里必须使用url encoding来解决这个问题。
因为我已经使用 AWS Fargate、AWS codepipeline 和代码构建功能在 UAT 环境中部署了基于 struts 的 Java 应用程序。
我在访问应用程序的 JSP 页面时收到 HTTP 400 错误。 url 就像-
https://uat.xxx.org/xxx-partner/contract/suxxxriodxxxxxPairsAction.do?target=prepareSuxxxriodxxxxxPairs&contractIdSubPeriodId=416|837
在 EC2 实例上作为 ear 部署的生产环境中的相同应用程序运行良好。
使用 AWS docs 我尝试对 HTTP 400 进行故障排除,但没有帮助。 因为请求大小在16k以下。
Fargate 的代码构建使用 Wildfly 18.0 进行部署 而 EC2 使用 JBoss 7.1.1 进行部署。
Aws 与此错误无关。 Wildfly 18.0 无法识别管道运算符。
还有'|'根据 HTTP 的 RFC1738 规范,(管道)字符是不安全的。
因此这里必须使用url encoding来解决这个问题。