Tomcat 8.5.39 на сервере Ubuntu 18.04.2 - PullRequest
0 голосов
/ 17 апреля 2019

Я виноват в том, что не знал, что у меня были включены автообновления на одном из наших производственных серверов Ubuntu, работающих под управлением 18.04.2 в AWS.Tomcat был недавно обновлен до 8.5.39 (автоматически), и когда мы перезапускаем tomcat8, наш код не может быть развернут со следующим исключением:

Caused by: java.lang.IllegalStateException: Attribute 'javax.websocket.server.ServerContainer' not found in ServletContext at org.springframework.util.Assert.state(Assert.java:73)

Когда я включаю отладочные сообщения, связанные с безопасностью, в tomcat, я вижуследующее:

policy: evaluate codesources:
    Policy CodeSource: (file:/usr/lib/jvm/java-8-oracle/jre/lib/ext/* <no signer certificates>)
    Active CodeSource: (file:/var/lib/tomcat8/webapps/api/WEB-INF/lib/spring-retry-1.2.2.RELEASE.jar <no signer certificates>)
policy: evaluation (codesource) failed
policy: evaluate codesources:
    Policy CodeSource: (file:/usr/java/packages/lib/ext/* <no signer certificates>)
    Active CodeSource: (file:/var/lib/tomcat8/webapps/api/WEB-INF/lib/spring-retry-1.2.2.RELEASE.jar <no signer certificates>)
policy: evaluation (codesource) failed
policy: evaluate codesources:
    Policy CodeSource: (null <no signer certificates>)
    Active CodeSource: (file:/var/lib/tomcat8/webapps/api/WEB-INF/lib/spring-retry-1.2.2.RELEASE.jar <no signer certificates>)
policy: evaluate principals:
    Policy Principals: []
    Active Principals: []

Я не знаю, связаны ли они ... что нам нужно сделать, чтобы веб-сокет был "видимым" для Spring?Я не знаю версию tomcat, которая работала на этом сервере до этого обновления, но мы никогда не получали исключение для javax.websocket.server.ServerContainer, который не был запущен с этой версией tomcat.Можно ли отключить какие-либо проверки безопасности Tomcat?

1 Ответ

0 голосов
/ 23 апреля 2019

Это похоже на известную проблему в Spring: Spring Boot версии 2.0.2. РЕЛИЗ и Tomcat версии 8.5.39

...