Назад | Перейти на главную страницу

Загрузка апплетов через обратный прокси-сервер nginx

У меня есть веб-приложение, размещенное на обслуживающих апплетах Tomcat 8. HTML-страницы с апплетами работают нормально, когда я обращаюсь к ним через http. Я дополнительно настроил SSL через обратный прокси-сервер nginx. Теперь, когда я пытаюсь получить доступ к тем же страницам через https, я получаю исключение ClassNotFoundException для апплетов. Я пробовал поискать в Google, но не смог найти четкого решения. Что могло пойти не так?

Изменить: у меня есть апплеты, встроенные в Login.html, используя <applet> тег, который также является частью веб-приложения angularjs, размещенного в контейнере Tomcat8. Апплет входит в состав jar-файла. Тег апплета в HTML выглядит следующим образом;

  <applet
        id="ABCobject"
        code="com.xxx.xxxxx.XXXXXApplet.class"
        archive="XXXXXApplet.jar"
    >
    </applet>

Конфигурация Nginx следующая:

server {
listen 80;
server_name mxxx.xxxxxxx.in;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
  listen [::]:443 ssl http2;
server_name mxxx.xxxxxxx.in;

root /var/www/html;

index index.html index.htm index.nginx-debian.html;

    ssl_certificate /etc/ssl/certs/__xxxxxxx_in.crt;
ssl_certificate_key /etc/ssl/private/wild-xxxxxxx-in.key;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:!ADH:!AECDH:!MD5;
ssl_dhparam /etc/nginx/dhparam.pem;
ssl_ecdh_curve secp384r1;
ssl_session_timeout  10m;
ssl_session_cache shared:SSL:10m;
resolver 172.18.2.128 8.8.8.8 valid=300s;
resolver_timeout 5s;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";


access_log  /var/log/nginx/xxxx_access.log;
error_log  /var/log/nginx/xxxx_error.log;

location / {
   proxy_pass http://mxxx.xxxxxxx.in:8080/xxx-web-app-xxx/;
   proxy_buffering off;
   proxy_http_version 1.1;
   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection $http_connection;
   proxy_cookie_path /web-appxxx/ /;
}

}

Трассировка стека ошибки

java.lang.ClassNotFoundException: com.xxx.xxxx.XXXXApplet.class
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)