您提到您的 https 网址是:
https://localhost:7002/MyApp
并假设您的 http URL 是:
http://localhost:7001/MyApp
当您说您将浏览器中的 https URL 更改为:
http://localhost:7002/MyApp
这是不正确的。如果您提供这样的 URL,WLS 将接受安全端口 7002 上的请求,但无法识别协议(它需要 https,但您提供了 http)。您将在浏览器中收到一些错误,而不是重定向,并且在 WLS 日志中肯定会出现以下错误:
<May XX, 2013 XX:XX:17 PM IST> <Warning> <Security> <BEA-090475> <Plaintext data for protocol HTTP was received from peer
XXXXXXXXXXXXXX - 192.169.0.100 instead of an SSL handshake.>
我假设您将 URL 更改为:
http://localhost:7001/MyApp
请更正/更新您的问题描述。
现在根据您的要求,通过 WLS 配置几乎不可能做到这一点。
作为一种解决方法,您可以创建一个 servlet 过滤器并在 ServletRequest 上调用 isSecure 以确定请求是否使用安全协议发出。如果你发现它不是,那么你可以重定向到一些自定义页面。您还需要禁用此自动重定向到您为您的应用程序报告的 https。
参考:http ://docs.oracle.com/javaee/6/api/javax/servlet/ServletRequest.html#isSecure%28%29