[Seasar-user:22051] Re: CloudSQL(mySql)へSSLを使って接続する方法

三上広明 [E-MAIL ADDRESS DELETED]
2015年 4月 11日 (土) 00:50:00 JST


小林様

早速レスポンス頂きありがとうございます。
心から感謝です!

デリミタの件ありがとうございます。
「あ、そういうことなのね。。。」と見通しつきました。
自分なりにカットアンドトライしてみましたところ、「#」でもいいみたいです。

"jdbc:mysql://xxx.xxx.xxx.xxx:3306/salescube?verifyServerCertificate=true#
useSSL=true#requireSSL=true"

とこれでデリミタのエラーは出なくなりました。


通常ドライバでOKかどうかの件ですが。
GEAでは確かに専用ドライバになるようですが、GCEからは通常のものでいいみたいです。
GCEのコントロールパネルから見られる「SSL接続しないサンプル」はこんな感じになってます。

String url = null;
if (SystemProperty.environment.value() ==
    SystemProperty.Environment.Value.Production) {
  // Connecting from App Engine.
  // Load the class that provides the "jdbc:google:mysql://"
  // prefix.
  Class.forName("com.mysql.jdbc.GoogleDriver");
  url =
    "jdbc:google:mysql://XXXX:xxxx?user=root";
} else {
 // Connecting from an external network.
  Class.forName("com.mysql.jdbc.Driver");
  url = "jdbc:mysql://xxx.xxx.xxx.xxx:3306?user=root";
}


Connection conn = DriverManager.getConnection(url);
ResultSet rs = conn.createStatement().executeQuery(
    "SELECT 1 + 1");



もちろんMySQL Clientからの接続は -h xxx.xxx.xxx.xxx オプションつけて、普通にOKです。



で、現在の状況ですが、まだまだ峠を越えられないようです。

DBが外にあるせいかとも思い、ローカルにMYSQLを立ち上げ、データベースを収容したのですが
*The requested resource (/SalesCube/login/XXXXX) is not available.*
となってしまい、うまくいきません。

managerは動き、アプリケーションマネージャからアプリケーションとパスも見えます。

TOMCATがうまくインストールされていないせいかもしれないとおもい
TOMCAT6に換装しても変わらず。。。。。

基本、OSSのアプリをダウンロードしてインストールのshを動かすだけのようなので
(リモートDBの場合DBまわりでの微調整は必要でしたが)

コンテキストなどいじらずとも。。。。。

せっかくGCEなので、まっさらからやり直してみます。

せっかくアドバイスいただいたのにすいません。

また、伺うかもしれませんが、その時もどうぞよろしくお願いいたします。

ありがとうございました。




2015年4月10日 4:22 Koichi Kobayashi <koichik @ improvement.jp>:

> 小林 (koichik) です。
>
> > エンティティ"useSSL"への参照は';'デリミタで終了する必要があります。
>
> これについては、XMLにおいて & は &amp; と
> 記述しないといけないために発生しています。
>
> JDBC接続の前に、MySQL Clientでの接続は
> できているのでしょうか?
>
> また、CloudSQLのドキュメントを軽く眺めた限りでは
> GAEで専用のJDBCドライバを使った説明がありますが、
> その他で通常のJDBCドライバを使った接続の説明は
> 見あたらないような?
> 通常のJDBCドライバでの接続はサポートされて
> いるのでしょうか?
>
>
> On Fri, 10 Apr 2015 01:07:40 +0900, 三上広明 <hiroaki @ akanefoods.com> wrote:
>
> > お世話になります。
> >
> > GCEインスタンスから、CloudSQLインスタンスへSSLを使って接続する設定をご教授いただけないでしょうか?
> >
> > 最初次のように設定していました
> >
> > (jdbc.dicon)抜粋
> >         <!-- MySQL-->
> >         <component name="xaDataSource"
> >                 class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
> >                 <property name="driverClassName">
> >                         "com.mysql.jdbc.Driver"
> >                 </property>
> >
> >                 <property name="URL">
> >                         "jdbc:mysql://xxx.xxx.xxx.xxx:3306/salescube"
> >                 </property>
> >                 <property name="user">"salescube"</property>
> >                 <property name="password">"salescube"</property>
> >         </component>
> >
> > ところが、これですと、ログにエラーらしい出力が無いにもかかわらず、アプリケーションにアクセス出来ないのです。
> >
> > そこで、SSL接続の記述を追加し
> >
> >         <!-- MySQL-->
> >         <component name="xaDataSource"
> >                 class="org.seasar.extension.dbcp.impl.XADataSourceImpl">
> >                 <property name="driverClassName">
> >                         "com.mysql.jdbc.Driver"
> >                 </property>
> >
> >                 <property name="URL">
> >
> >
> "jdbc:mysql://xxx.xxx.xxx.xxx:3306/salescube?verifyServerCertificate=true&useSSL=true&requireSSL=true"
> >                 </property>
> >                 <property name="user">"salescube"</property>
> >                 <property name="password">"salescube"</property>
> >         </component>
> >
> > としましたが、キーファイルなどの設定方法が分からず、さらにcatalina.outには、
> >
> > Caused by: org.xml.sax.SAXParseException; systemId:
> > file:///usr/share/tomcat/jdbc.dicon; lineNumber: 125; columnNumber: 84;
> > エンティティ"useSSL"への参照は';'デリミタで終了する必要があります。
> >
> > と出力されてしまいます。
> > もちろん、アプリにアクセスできません。
> > このエラーメッセージも理解できずにいるのです。
> >
> >
> 想像するに、設定記述が違うのと、SSL接続しか許可していないCloudSQLですから、認証絡みで止まってしまっているのではないかと思うのですが、そのあたりのドキュメントが見当たらず。。。。
> >
> > 今週中に立ち上げたいと努力はしているのですが、技量不足で難儀しています。
> >
> > ヒントでも結構ですので、お助けください。
> >
> > よろしくお願いいたします。
> >
> > Kuma3
>
>
> --
> {
>   name: "Koichi Kobayashi",
>   mail: "koichik @ improvement.jp",
>   blog: "http://d.hatena.ne.jp/koichik/",
>   twitter: "@koichik"
> }
>
> _______________________________________________
> Seasar-user mailing list
> Seasar-user @ ml.seasar.org
> https://ml.seasar.org/mailman/listinfo/seasar-user
>



-- 
~以下署名~
~~~~~~~~~~~~~~~~~~~~~~~~~~~
有限会社 三上製麺
info @ akanefoods.com

三上広明
hiroaki @ akanefoods.com

359-0035
埼玉県所沢市西新井町7-18
TEL 04-2992-2559
FAX 04-2991-1336
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20150411/18c1331e/attachment.html>


Seasar-user メーリングリストの案内