kopia lustrzana https://github.com/gaul/s3proxy
				
				
				
			Simplify usage and add curl example
Link to wiki for more complicated examples.pull/95/head
							rodzic
							
								
									80d5a58a9f
								
							
						
					
					
						commit
						e56e6732e2
					
				
							
								
								
									
										83
									
								
								README.md
								
								
								
								
							
							
						
						
									
										83
									
								
								README.md
								
								
								
								
							| 
						 | 
				
			
			@ -11,9 +11,27 @@ Users can [download releases](https://github.com/andrewgaul/s3proxy/releases)
 | 
			
		|||
from GitHub.  One can also build the project by running `mvn package` which
 | 
			
		||||
produces a binary at `target/s3proxy`.  S3Proxy requires Java 7 to run.
 | 
			
		||||
 | 
			
		||||
Examples
 | 
			
		||||
--------
 | 
			
		||||
Linux and Mac OS X users can run S3Proxy via the executable jar:
 | 
			
		||||
Usage
 | 
			
		||||
-----
 | 
			
		||||
Configure S3Proxy via a properties file.  An example using the local
 | 
			
		||||
file system as the storage backend with anonymous access:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
s3proxy.authorization=none
 | 
			
		||||
s3proxy.endpoint=http://127.0.0.1:8080
 | 
			
		||||
jclouds.provider=filesystem
 | 
			
		||||
jclouds.identity=identity
 | 
			
		||||
jclouds.credential=credential
 | 
			
		||||
jclouds.filesystem.basedir=/tmp/s3proxy
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
First create the filesystem basedir:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
mkdir /tmp/s3proxy
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Next run S3Proxy.  Linux and Mac OS X users can run the executable jar:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
chmod +x s3proxy
 | 
			
		||||
| 
						 | 
				
			
			@ -26,61 +44,16 @@ Windows users must explicitly invoke java:
 | 
			
		|||
java -jar s3proxy --properties s3proxy.conf
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Users can configure S3Proxy via a properties file.  An example using Rackspace
 | 
			
		||||
CloudFiles (based on OpenStack Swift) as the backing store:
 | 
			
		||||
Finally test by creating a bucket then listing all the buckets:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
s3proxy.endpoint=http://127.0.0.1:8080
 | 
			
		||||
s3proxy.authorization=aws-v2
 | 
			
		||||
s3proxy.identity=local-identity
 | 
			
		||||
s3proxy.credential=local-credential
 | 
			
		||||
jclouds.provider=rackspace-cloudfiles-us
 | 
			
		||||
jclouds.identity=remote-identity
 | 
			
		||||
jclouds.credential=remote-credential
 | 
			
		||||
$ curl --request PUT http://localhost:8080/testbucket
 | 
			
		||||
 | 
			
		||||
$ curl http://localhost:8080/
 | 
			
		||||
<?xml version="1.0" ?><ListAllMyBucketsResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"><Owner><ID>75aa57f09aa0c8caeab4f8c24e99d10f8e7faeebf76c078efc7c6caea54ba06a</ID><DisplayName>CustomersName@amazon.com</DisplayName></Owner><Buckets><Bucket><Name>testbucket</Name><CreationDate>2015-08-05T22:16:24.000Z</CreationDate></Bucket></Buckets></ListAllMyBucketsResult>
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Another example using the local file system as the backing store with anonymous
 | 
			
		||||
access:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
s3proxy.authorization=none
 | 
			
		||||
s3proxy.endpoint=http://127.0.0.1:8080
 | 
			
		||||
jclouds.provider=filesystem
 | 
			
		||||
jclouds.identity=identity
 | 
			
		||||
jclouds.credential=credential
 | 
			
		||||
jclouds.filesystem.basedir=/tmp
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
S3Proxy can listen on HTTPS by setting the `secure-endpoint` and
 | 
			
		||||
[configuring a keystore](http://wiki.eclipse.org/Jetty/Howto/Configure_SSL#Generating_Keys_and_Certificates_with_JDK_keytool).
 | 
			
		||||
An example:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
s3proxy.secure-endpoint=https://127.0.0.1:8080
 | 
			
		||||
s3proxy.keystore-path=keystore.jks
 | 
			
		||||
s3proxy.keystore-password=password
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
To setup the keystore, do
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ keytool -keystore keystore.jks -alias aws -genkey -keyalg RSA
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Use `*.s3.amazonaws.com` as the `CN` if you wish to proxy
 | 
			
		||||
access to Amazon S3 itself. Applications will reject the self-signed
 | 
			
		||||
certificate, unless you import it to the application's trusted
 | 
			
		||||
store. If the application is written in Java, you can do:
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
$ keytool -exportcert -keystore keystore.jks -alias aws -rfc > aws.crt
 | 
			
		||||
$ keytool -keystore $JAVA_HOME/jre/lib/security/cacerts -import -alias aws -file aws.crt -trustcacerts
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
Users can also set other Java,
 | 
			
		||||
[jclouds](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/Constants.java),
 | 
			
		||||
and [S3Proxy](https://github.com/andrewgaul/s3proxy/blob/master/src/main/java/org/gaul/s3proxy/S3ProxyConstants.java)
 | 
			
		||||
properties.
 | 
			
		||||
See the wiki for [examples of other providers](https://github.com/andrewgaul/s3proxy/wiki).
 | 
			
		||||
 | 
			
		||||
Supported storage backends
 | 
			
		||||
--------------------------
 | 
			
		||||
| 
						 | 
				
			
			@ -119,7 +92,7 @@ References
 | 
			
		|||
* Ceph [s3-tests](https://github.com/ceph/s3-tests) help maintain and improve compatibility with the S3 API
 | 
			
		||||
* [fake-s3](https://github.com/jubos/fake-s3) and [S3 ninja](https://github.com/scireum/s3ninja) provide functionality similar to S3Proxy when using the filesystem provider
 | 
			
		||||
* Another project named [s3proxy](https://github.com/abustany/s3proxy) provides HTTP access to non-S3-aware applications
 | 
			
		||||
* [SwiftProxy](https://github.com/bouncestorage/swiftproxy) provides similar functionality for the OpenStack Swift API
 | 
			
		||||
* [GlacierProxy](https://github.com/bouncestorage/glacier-proxy) and [SwiftProxy](https://github.com/bouncestorage/swiftproxy) provide similar functionality for the Amazon Glacier and OpenStack Swift APIs
 | 
			
		||||
 | 
			
		||||
License
 | 
			
		||||
-------
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Ładowanie…
	
		Reference in New Issue