2010-12-07 9 views
0

jdbcmysqlをsslで実行できないようです。jruby jdbcmysqlアダプタはsslで動作しませんか?

ダウンロード宝石:

JDBC-mysqlの(5.0.4)

のjruby-opensslの(0.7.1)

通常のレールコンソールを使用して(JRubyのではない)、私はそれを実行するようになりました(以下消毒)と:

cp = ActiveRecord::Base.establish_connection(
    :adapter => 'jdbcmysql', 
    :host => 'host', 
    :username => 'user', 
    :password => 'pw', 
    :database => 'db', 
    :sslca => "ca-cert.pem" 
) 

が、私はcp.connection呼び出した後、同じコマンドは、この権利をスロー:

jrubyコンソールの
RuntimeError: The driver encountered an unknown error: java.sql.SQLException: Access denied for user 'user'@'host' (using password: YES) 

これはおそらく、sslを使用するようにユーザーを設定しているため、sslが使用されていないためです。

jdbc-mysqlはsslをサポートしていませんか?私はかなりjdbcアダプタがしていると確信しています。サーバは5.1

あったが、ここで何が起こった

+0

サーバがca-certを認識するようにするには、sslca => "ca-cert.pem"というコマンドを実行する必要がありますか? – Andy

答えて

0

は、構文は、SSL工事なしでアクセスして、まったく同じですが、SSLで静かに失敗した:(私はしました

0

mysqlクライアントは、バージョン5.0であったということでしたjruby/odbcとsslの場合、で接続を設定するには、odbc urlパラメータを使用する必要があります。。ドキュメントは不十分ですが、MRIのgemはデフォルトでssl(使用可能な場合)を使用しますが、odbcアダプタ、 tdbにsslを有効にするためにyml/establish_connectionに入れることができる鍵がないようです。

SSLCAキーはそのように直接変換する場合、私はわからない

cp = ActiveRecord::Base.establish_connection(
    :url => 'jdbc:mysql://host/db?user=user&password=pw&ssl=true&sslca=ca-cert.pem' 
) 

SSLを=、またはそれがパスを計算する方法を:

これは、このような状況のために働く必要があります。唯一のpostgresqlでテストsslfactory = org.postgresql.ssl.NonValidatingFactoryと

を、私は自信を持ってmysqlのだと、ほとんどすべてのODBCアダプタはまた、このように動作します:

Herokuの/ PostgreSQLは、追加することをお勧めします。

関連する問題