0

「チェックアウト」フォルダーの下にあるすべての JSP ページに Tomcat SSL 構成を実装したいと考えています。ただし、残りのページでは http のみを使用する必要があります。しかし問題は、ユーザーがチェックアウト ページに移動すると、チェックアウト以外のすべてのページも「http」ではなく「https」を使用し始めることです。以下に示す必要な構成作業をすべて実行しました。問題を見つけることができません。ガイドしてください。

Tomcat の設定

<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" />

web.xml 構成

   <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>

index.jsp

    <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>

jsp/セキュア/checkout.jsp

    <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>
4

1 に答える 1

0

問題は、「../../index.jsp」が相対パスであるため、ブラウザーが https を使用する jsp/secure/checkout.jsp ページの場所を使用してアドレスを解決することだと思います。

代わりに絶対パスを使用してみてください。

于 2013-04-29T18:04:06.223 に答える