6

私たちのウェブサイトには、何年にもわたって機能するJavaアプレットがあります。それからJava7が出てきて、人々はそれをインストールしました。Java 7を使用しているユーザーがHTTPSを使用して当社のWebサイトにアクセスすると、アプレットのロードに失敗しました(ClassNotFoundException)。同じサイトと同じアプレットで、通常のHTTPを使用してアクセスすると、正常に機能します。

以前のバージョンのJava(1.6.x)を使用している場合は、HTTPまたはHTTPのいずれかを使用してアプレットを問題なく表示できます。

Java 7を使用していて、HTTPSを使い続けたい人のために、この問題を解決するために私たちができることはありますか?

Googleで検索したところ、関連する結果は見つかりませんでした。どんなポインタでも大歓迎です。

4

1 に答える 1

7

問題が解決しました。簡単に言えば、Java 7 の JSSE (Java Secure Socket Extension) 実装では、デフォルトで SNI (Server Name Indication) が有効になっているため、SSL (Secure Sockets Layer) サーバーでサーバー名を設定する必要があります。 .

Apache の場合、次のことを行う必要があります。

<VirtualHost default:443>

# General setup for the virtual host
DocumentRoot "/opt/apache/2.2.21/htdocs"
ServerName your.servername.com:443

以前は、この行をコメントアウトしており、Java 7 がリリースされるまで、すべてのブラウザーとすべての Java アプレットで機能します。

以下のJava開発者フォーラムで同じ議論をしました

https://forums.oracle.com/forums/message.jspa?messageID=10330444#10330444

于 2012-05-11T21:14:54.457 に答える