我想为“checkout”文件夹下的所有JSP页面实现Tomcat SSL配置。但其余页面应仅使用http。但问题是,一旦用户导航到结账页面,所有非结账页面也开始使用“https”而不是“http”。我完成了所有必要的移民工作,如下所示。无法找出问题所在。请指导。
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:\istore.mvc1.keystore"
keystorePass="changeIt" />
<security-constraint>
<web-resource-collection>
<web-resource-name>mycheckout</web-resource-name>
<url-pattern>/jsp/secure/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<body>
<h1>Hello World! - Non-checkout page</h1><br/>
<!-- Jump to checkout.jsp and use https (Works fine) -->
<a href="jsp/secure/checkout.jsp">Go to checkout</a>
</body>
<body>
<h1>Checkout starts here!</h1>
<!-- Jumps to index.jsp but instead of "http" it uses "https" (DOES NOT WORK AS EXPECTED) -->
<a href="../../index.jsp">Back to Non-checkout page</a>
</body>
答案 0 :(得分:0)
我认为问题是“../../index.jsp”是一个相对路径,因此浏览器使用使用https的jsp / secure / checkout.jsp页面的位置来解析地址。
尝试使用绝对路径。