2016-04-18 9 views
0

Я получаю проблемы при подключении к SQL Server 2008 от Spring Hibernate приложения, размещенными на коте (RHEL)SSLv3 ошибки, связанная с - Spring + Hibernate + SQL Server на сервере Tomcat

Моих бобов:

<beans:bean id="sDataSource" 
     class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 
     <beans:property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" /> 
     <beans:property name="url" value="jdbc:sqlserver://abc.com:1433;databaseName=ABC;" /> 
     <beans:property name="username" value="AAAAAAA" /> 
     <beans:property name="password" value="XXXXXXXX" /> 
    </beans:bean> 

Первоначально я получил эту ошибку:

[04-18-2016 17:45:01,837-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method getSession()] 
[04-18-2016 17:45:01,882-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method getSession()] 
[04-18-2016 17:45:01,901-0400] [Line: ?] ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] [The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "SSLv3 SSLContext not available".] 
[04-18-2016 17:45:01,902-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method returnSession()] 
[04-18-2016 17:45:01,903-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method returnSession()] 

Потом я наткнулся на эту question и сделал изменения в -Dcom.ibm.jsse2.disableSSLv3=false

А потом я получил эту ошибку:

[04-18-2016 17:47:45,728-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method getSession()] 
[04-18-2016 17:47:45,815-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method getSession()] 
[04-18-2016 17:47:45,845-0400] [Line: ?] ERROR [org.hibernate.engine.jdbc.spi.SqlExceptionHelper] [The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "No appropriate protocol (protocol is disabled or cipher suites are inappropriate)".] 
[04-18-2016 17:47:45,847-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Entering Method returnSession()] 
[04-18-2016 17:47:45,848-0400] [Line: ?] DEBUG [com.services.hibernate.SessionHandler] [Exiting Method returnSession()] 

код полностью функционирующий как он возвращается результаты на моей местной окружающей среды, но, как я развернуть его в облаке (RHEL V6) я получаю эти ошибки.

Пожалуйста, помогите мне. Я полностью застрял в этом вопросе.

Нужно ли что-то устанавливать на сервере Linux?

ответ

0

Сравните версию Java. Я столкнулся с проблемой вокруг Java8 build 50, где некоторые шифры были устаревшими и удалены, поэтому наше приложение неожиданно не смогло установить SSL-соединение, потому что обе стороны не смогли договориться о шифровании. Для меня это выглядит похоже.

Возможно, стоит проверить, установлено ли на рабочем столе неограниченное силовое шифрование, а не на сервере.

Из-за отчаяния вы можете попробовать запустить приложение с помощью -Djavax.net.debug = ВСЕ или что-то еще (зависит от того, сколько деталей вам нужно), this - это отправная точка для работы. Вам нужно будет добавить его в tomcat.conf (или где бы вы ни находились в вашей версии).