It is mostly the likely the self-signed certificate issue you suspected. Java
(and other languages) are pretty notorious for rejecting such unless you
configure them just right. I haven't worked with Java in 10 years, so my
knowledge of how to fix that is pretty useless, hopefully another will speak up
and help. You probably had to use -k with curl right? That would confirm the
self-signed issue.
Just as a note, the SSL capabilities for the Swift proxy server are truly for
basic testing only. You might want to start with non-SSL and then lock it down
after you get things working otherwise.
For SSL capabilities, an SSL-terminating load balancer in front of the Swift
proxy servers is recommended. You /could/ use DNS-round-robin balancing to
proxies with SSL turned on, but like I mentioned, that's really just for
testing purposes. In a production deployment, you'd definitely want SSL
terminated at the load balancer(s).
Now, which load balancers to use is a whole other email thread, so I won't
mention that for now, you may already have particular requirements in mind
anyway.
On May 24, 2012, at 3:03 PM, Shawn Heisey wrote:
> This question is probably more appropriate for the Swift mailing list, but I
> could not figure out how to subscribe to that list, so it's going here. I'm
> OK with moving it there, if someone can tell me how to get subscribed, or if
> I'm in completely the wrong place, let me know.
>
> I am attempting to evaluate Swift for our environment. I have set up a Swift
> cluster using the ubuntu multi-server HOWTO and I can use the commandline
> utilities to upload and download files. Now I need to do a test using the
> Java API. I downloaded java-cloudfiles and I can't seem to make it work. It
> fails at the login() step.
>
> FilesClient client = new FilesClient(username, password, authUrl,
> null, 10000);
> if (client.login())
> {
>
> javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
> at
> com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
> at
> org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
> at
> org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:397)
> at
> org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
> at
> org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:150)
> at
> org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
> at
> org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:575)
> at
> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
> at
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
> at
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
> at
> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
> at
> com.rackspacecloud.client.cloudfiles.FilesClient.login(FilesClient.java:278)
> at com.REDACTED.swiftest.Main.main(Main.java:50)
>
> This all works with the curl command using the same auth URL. I've got the
> default user/password set up from the HOWTO.
>
> Initially I suspected that the problem was due to the self-signed
> certificate, but watching syslog on the primary proxy server, I don't see any
> requests logged, but I do see a conversation happen on port 8080 with
> tcpdump. How can I troubleshoot this?
>
> Thanks,
> Shawn
>
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to : [email protected]
> Unsubscribe : https://launchpad.net/~openstack
> More help : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openstack
More help : https://help.launchpad.net/ListHelp