summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/samples/store-cluster
diff options
context:
space:
mode:
authorjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-08-14 18:46:26 +0000
committerjsdelfino <jsdelfino@13f79535-47bb-0310-9956-ffa450edef68>2010-08-14 18:46:26 +0000
commitd6451b81703c809abcd0f51e74abdba7c732b513 (patch)
treefab2013702ae33a07e5bb43abad606e0201b485b /sca-cpp/trunk/samples/store-cluster
parentd090bd129574458379aa9997345e7ca5b2c24886 (diff)
Some refactoring of the HTTP support, tunnel Memcached requests over HTTPS and add HTTPS config to store-cluster sample.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@985561 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'sca-cpp/trunk/samples/store-cluster')
-rw-r--r--sca-cpp/trunk/samples/store-cluster/Makefile.am2
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/proxy-conf26
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/proxy-ssl-conf32
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/server-conf34
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/server-ssl-conf40
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/ssl-start79
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/ssl-stop28
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/start53
-rwxr-xr-xsca-cpp/trunk/samples/store-cluster/tunnel-ssl-conf33
9 files changed, 219 insertions, 108 deletions
diff --git a/sca-cpp/trunk/samples/store-cluster/Makefile.am b/sca-cpp/trunk/samples/store-cluster/Makefile.am
index d1c8ca7915..0f933b34f3 100644
--- a/sca-cpp/trunk/samples/store-cluster/Makefile.am
+++ b/sca-cpp/trunk/samples/store-cluster/Makefile.am
@@ -21,7 +21,7 @@ if WANT_OPENID
if WANT_LOG
if WANT_QUEUE
-dist_sample_SCRIPTS = start stop ssl-start
+dist_sample_SCRIPTS = start stop ssl-start ssl-stop proxy-conf proxy-ssl-conf server-conf server-ssl-conf tunnel-ssl-conf
sampledir = $(prefix)/samples/store-cluster
nobase_dist_sample_DATA = htdocs/*.html htdocs/domains/*/*.html domains/*/*.py domains/*/*.composite
diff --git a/sca-cpp/trunk/samples/store-cluster/proxy-conf b/sca-cpp/trunk/samples/store-cluster/proxy-conf
new file mode 100755
index 0000000000..bdfee78917
--- /dev/null
+++ b/sca-cpp/trunk/samples/store-cluster/proxy-conf
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+root=$1
+port=$2
+
+# Configure a proxy balancer
+../../modules/http/httpd-conf $root sca-store.com $port/80 $root/htdocs
+../../modules/http/vhost-conf $root
+../../modules/http/proxy-conf $root
diff --git a/sca-cpp/trunk/samples/store-cluster/proxy-ssl-conf b/sca-cpp/trunk/samples/store-cluster/proxy-ssl-conf
new file mode 100755
index 0000000000..cddadc95f4
--- /dev/null
+++ b/sca-cpp/trunk/samples/store-cluster/proxy-ssl-conf
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+root=$1
+port=$2
+sslport=$3
+
+# Configure an SSL-enabled proxy balancer
+../../modules/http/httpd-conf $root sca-store.com $port/80 $root/htdocs
+../../modules/http/vhost-conf $root
+../../modules/http/proxy-conf $root
+tar -C tmp/ssl -c `../../modules/http/ssl-cert-find tmp/ssl` | tar -C $root -x
+../../modules/http/httpd-ssl-conf $root $sslport/443
+../../modules/http/vhost-ssl-conf $root
+../../modules/http/proxy-ssl-conf $root
+
diff --git a/sca-cpp/trunk/samples/store-cluster/server-conf b/sca-cpp/trunk/samples/store-cluster/server-conf
new file mode 100755
index 0000000000..0aeb39813d
--- /dev/null
+++ b/sca-cpp/trunk/samples/store-cluster/server-conf
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+root=$1
+port=$2
+
+# Configure an app server
+../../modules/http/httpd-conf $root sca-store.com $port/80 htdocs
+../../modules/http/vhost-conf $root
+../../modules/server/server-conf $root
+../../modules/python/python-conf $root
+cat >>$root/conf/httpd.conf <<EOF
+# Configure SCA Composite for mass dynamic virtual hosting
+SCAVirtualContribution `pwd`/domains/
+SCAVirtualComposite store.composite
+
+EOF
+
diff --git a/sca-cpp/trunk/samples/store-cluster/server-ssl-conf b/sca-cpp/trunk/samples/store-cluster/server-ssl-conf
new file mode 100755
index 0000000000..35c83f8d65
--- /dev/null
+++ b/sca-cpp/trunk/samples/store-cluster/server-ssl-conf
@@ -0,0 +1,40 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+root=$1
+port=$2
+sslport=$3
+
+# Configure an SSL-enabled app server
+../../modules/http/httpd-conf $root sca-store.com $port/80 htdocs
+../../modules/http/vhost-conf $root
+tar -C tmp/ssl -c `../../modules/http/ssl-cert-find tmp/ssl` | tar -C $root -x
+../../modules/http/httpd-ssl-conf $root $sslport/443
+../../modules/http/vhost-ssl-conf $root
+../../modules/openid/openid-conf $root
+../../modules/openid/openid-step2-conf $root
+../../modules/server/server-conf $root
+../../modules/python/python-conf $root
+cat >>$root/conf/httpd.conf <<EOF
+# Configure SCA Composite for mass dynamic virtual hosting
+SCAVirtualContribution `pwd`/domains/
+SCAVirtualComposite store.composite
+
+EOF
+
diff --git a/sca-cpp/trunk/samples/store-cluster/ssl-start b/sca-cpp/trunk/samples/store-cluster/ssl-start
index da55846654..8fe0af41d3 100755
--- a/sca-cpp/trunk/samples/store-cluster/ssl-start
+++ b/sca-cpp/trunk/samples/store-cluster/ssl-start
@@ -22,67 +22,27 @@
../../modules/http/ssl-cert-conf tmp/ssl sca-store.com server
../../modules/http/ssl-cert-conf tmp/ssl *.sca-store.com vhost
../../modules/http/ssl-cert-conf tmp/ssl sca-store.com proxy
+../../modules/http/ssl-cert-conf tmp/ssl sca-store.com tunnel
-# Start three identical app servers
-../../modules/http/httpd-conf tmp/server1 sca-store.com 8101/80 htdocs
-../../modules/http/vhost-conf tmp/server1
-cp `../../modules/http/ssl-ls tmp/ssl` tmp/server1/conf
-../../modules/http/httpd-ssl-conf tmp/server1 8441/443
-../../modules/http/vhost-ssl-conf tmp/server1
-../../modules/openid/openid-conf tmp/server1
-../../modules/openid/openid-step2-conf tmp/server1
-../../modules/server/server-conf tmp/server1
-../../modules/python/python-conf tmp/server1
-cat >>tmp/server1/conf/httpd.conf <<EOF
-# Configure SCA Composite for mass dynamic virtual hosting
-SCAVirtualContribution `pwd`/domains/
-SCAVirtualComposite store.composite
+# Start three memcached servers and a tunnel server
+../../components/cache/memcached-start 127.0.0.1:11411
+../../components/cache/memcached-start 127.0.0.1:11412
+../../components/cache/memcached-start 127.0.0.1:11413
+./tunnel-ssl-conf tmp/tunnel1
+../../modules/http/httpd-start tmp/tunnel1
-EOF
+# Start three app servers
+./server-ssl-conf tmp/server1 8101 8441
../../modules/http/httpd-start tmp/server1
-../../modules/http/httpd-conf tmp/server2 sca-store.com 8102/80 htdocs
-../../modules/http/vhost-conf tmp/server2
-cp `../../modules/http/ssl-ls tmp/ssl` tmp/server2/conf
-../../modules/http/httpd-ssl-conf tmp/server2 8442/443
-../../modules/http/vhost-ssl-conf tmp/server2
-../../modules/openid/openid-conf tmp/server2
-../../modules/openid/openid-step2-conf tmp/server2
-../../modules/server/server-conf tmp/server2
-../../modules/python/python-conf tmp/server2
-cat >>tmp/server2/conf/httpd.conf <<EOF
-# Configure SCA Composite for mass dynamic virtual hosting
-SCAVirtualContribution `pwd`/domains/
-SCAVirtualComposite store.composite
-
-EOF
+./server-ssl-conf tmp/server2 8102 8442
../../modules/http/httpd-start tmp/server2
-../../modules/http/httpd-conf tmp/server3 sca-store.com 8103/80 htdocs
-../../modules/http/vhost-conf tmp/server3
-cp `../../modules/http/ssl-ls tmp/ssl` tmp/server3/conf
-../../modules/http/httpd-ssl-conf tmp/server3 8443/443
-../../modules/http/vhost-ssl-conf tmp/server3
-../../modules/openid/openid-conf tmp/server3
-../../modules/openid/openid-step2-conf tmp/server3
-../../modules/server/server-conf tmp/server3
-../../modules/python/python-conf tmp/server3
-cat >>tmp/server3/conf/httpd.conf <<EOF
-# Configure SCA Composite for mass dynamic virtual hosting
-SCAVirtualContribution `pwd`/domains/
-SCAVirtualComposite store.composite
-
-EOF
+./server-ssl-conf tmp/server3 8103 8443
../../modules/http/httpd-start tmp/server3
-# Start two identical proxy balancers
-../../modules/http/httpd-conf tmp/proxy1 sca-store.com 8091/80 tmp/proxy1/htdocs
-../../modules/http/vhost-conf tmp/proxy1
-../../modules/http/proxy-conf tmp/proxy1 sca-store.com 8091/80 tmp/proxy1/htdocs
-cp `../../modules/http/ssl-ls tmp/ssl` tmp/proxy1/conf
-../../modules/http/httpd-ssl-conf tmp/proxy1 8093/443
-../../modules/http/vhost-ssl-conf tmp/proxy1
-../../modules/http/proxy-ssl-conf tmp/proxy1
+# Start two proxy balancers
+./proxy-ssl-conf tmp/proxy1 8091 8093
../../modules/http/proxy-member-conf tmp/proxy1 localhost 8101
../../modules/http/proxy-ssl-member-conf tmp/proxy1 localhost 8441
../../modules/http/proxy-member-conf tmp/proxy1 localhost 8102
@@ -91,13 +51,7 @@ cp `../../modules/http/ssl-ls tmp/ssl` tmp/proxy1/conf
../../modules/http/proxy-ssl-member-conf tmp/proxy1 localhost 8443
../../modules/http/httpd-start tmp/proxy1
-../../modules/http/httpd-conf tmp/proxy2 sca-store.com 8092/80 tmp/proxy2/htdocs
-../../modules/http/vhost-conf tmp/proxy2
-../../modules/http/proxy-conf tmp/proxy2 sca-store.com 8092/80 tmp/proxy2/htdocs
-cp `../../modules/http/ssl-ls tmp/ssl` tmp/proxy2/conf
-../../modules/http/httpd-ssl-conf tmp/proxy2 8094/443
-../../modules/http/vhost-ssl-conf tmp/proxy2
-../../modules/http/proxy-ssl-conf tmp/proxy2
+./proxy-ssl-conf tmp/proxy2 8092 8094
../../modules/http/proxy-member-conf tmp/proxy2 localhost 8101
../../modules/http/proxy-ssl-member-conf tmp/proxy2 localhost 8441
../../modules/http/proxy-member-conf tmp/proxy2 localhost 8102
@@ -106,11 +60,6 @@ cp `../../modules/http/ssl-ls tmp/ssl` tmp/proxy2/conf
../../modules/http/proxy-ssl-member-conf tmp/proxy2 localhost 8443
../../modules/http/httpd-start tmp/proxy2
-# Start three memcached servers
-../../components/cache/memcached-start 11211
-../../components/cache/memcached-start 11212
-../../components/cache/memcached-start 11213
-
# Redirect traffic from port 80 to 8091 and use proxy1
#../../ubuntu/ip-redirect-all 80 8091
#../../ubuntu/ip-redirect-all 443 8093
diff --git a/sca-cpp/trunk/samples/store-cluster/ssl-stop b/sca-cpp/trunk/samples/store-cluster/ssl-stop
new file mode 100755
index 0000000000..97af3d7faa
--- /dev/null
+++ b/sca-cpp/trunk/samples/store-cluster/ssl-stop
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+../../modules/http/httpd-stop tmp/server1
+../../modules/http/httpd-stop tmp/server2
+../../modules/http/httpd-stop tmp/server3
+../../modules/http/httpd-stop tmp/proxy1
+../../modules/http/httpd-stop tmp/proxy2
+../../components/cache/memcached-stop 127.0.0.1:11411
+../../components/cache/memcached-stop 127.0.0.1:11412
+../../components/cache/memcached-stop 127.0.0.1:11413
+../../modules/http/httpd-stop tmp/tunnel1
diff --git a/sca-cpp/trunk/samples/store-cluster/start b/sca-cpp/trunk/samples/store-cluster/start
index 1cd5825471..4612ca2770 100755
--- a/sca-cpp/trunk/samples/store-cluster/start
+++ b/sca-cpp/trunk/samples/store-cluster/start
@@ -17,65 +17,34 @@
# specific language governing permissions and limitations
# under the License.
-# Start three identical app servers
-../../modules/http/httpd-conf tmp/server1 sca-store.com 8101/80 htdocs
-../../modules/http/vhost-conf tmp/server1
-../../modules/server/server-conf tmp/server1
-../../modules/python/python-conf tmp/server1
-cat >>tmp/server1/conf/httpd.conf <<EOF
-# Configure SCA Composite for mass dynamic virtual hosting
-SCAVirtualContribution `pwd`/domains/
-SCAVirtualComposite store.composite
+# Start three memcached servers
+../../components/cache/memcached-start 11211
+../../components/cache/memcached-start 11212
+../../components/cache/memcached-start 11213
-EOF
+# Start three app servers
+./server-conf tmp/server1 8101
../../modules/http/httpd-start tmp/server1
-../../modules/http/httpd-conf tmp/server2 sca-store.com 8102/80 htdocs
-../../modules/http/vhost-conf tmp/server2
-../../modules/server/server-conf tmp/server2
-../../modules/python/python-conf tmp/server2
-cat >>tmp/server2/conf/httpd.conf <<EOF
-# Configure SCA Composite for mass dynamic virtual hosting
-SCAVirtualContribution `pwd`/domains/
-SCAVirtualComposite store.composite
-
-EOF
+./server-conf tmp/server2 8102
../../modules/http/httpd-start tmp/server2
-../../modules/http/httpd-conf tmp/server3 sca-store.com 8103/80 htdocs
-../../modules/http/vhost-conf tmp/server3
-../../modules/server/server-conf tmp/server3
-../../modules/python/python-conf tmp/server3
-cat >>tmp/server3/conf/httpd.conf <<EOF
-# Configure SCA Composite for mass dynamic virtual hosting
-SCAVirtualContribution `pwd`/domains/
-SCAVirtualComposite store.composite
-
-EOF
+./server-conf tmp/server3 8103
../../modules/http/httpd-start tmp/server3
-# Start two identical proxy balancers
-../../modules/http/httpd-conf tmp/proxy1 sca-store.com 8091/80 tmp/proxy1/htdocs
-../../modules/http/vhost-conf tmp/proxy1
-../../modules/http/proxy-conf tmp/proxy1
+# Start two proxy balancers
+./proxy-conf tmp/proxy1 8091
../../modules/http/proxy-member-conf tmp/proxy1 localhost 8101
../../modules/http/proxy-member-conf tmp/proxy1 localhost 8102
../../modules/http/proxy-member-conf tmp/proxy1 localhost 8103
../../modules/http/httpd-start tmp/proxy1
-../../modules/http/httpd-conf tmp/proxy2 sca-store.com 8092/80 tmp/proxy2/htdocs
-../../modules/http/vhost-conf tmp/proxy2
-../../modules/http/proxy-conf tmp/proxy2
+./proxy-conf tmp/proxy2 8092
../../modules/http/proxy-member-conf tmp/proxy2 localhost 8101
../../modules/http/proxy-member-conf tmp/proxy2 localhost 8102
../../modules/http/proxy-member-conf tmp/proxy2 localhost 8103
../../modules/http/httpd-start tmp/proxy2
-# Start three memcached servers
-../../components/cache/memcached-start 11211
-../../components/cache/memcached-start 11212
-../../components/cache/memcached-start 11213
-
# Redirect traffic from port 80 to 8091 and use proxy1
#../../ubuntu/ip-redirect-all 80 8091
diff --git a/sca-cpp/trunk/samples/store-cluster/tunnel-ssl-conf b/sca-cpp/trunk/samples/store-cluster/tunnel-ssl-conf
new file mode 100755
index 0000000000..bbaf511e51
--- /dev/null
+++ b/sca-cpp/trunk/samples/store-cluster/tunnel-ssl-conf
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+root=$1
+
+# Configure SSL tunnels to the memcached servers
+../../modules/http/httpd-conf $root localhost 127.0.0.1:11210 htdocs
+tar -C tmp/ssl -c `../../modules/http/ssl-cert-find tmp/ssl` | tar -C $root -x
+../../modules/http/tunnel-ssl-conf $root 11211 localhost 8441 11411
+../../modules/http/tunnel-ssl-conf $root 11212 localhost 8442 11412
+../../modules/http/tunnel-ssl-conf $root 11213 localhost 8443 11413
+
+# Configure SSL tunnels to the postgresql servers
+../../modules/http/tunnel-ssl-conf $root 5532 localhost 8441 5432
+../../modules/http/tunnel-ssl-conf $root 5533 localhost 8441 5433
+../../modules/http/tunnel-ssl-conf $root 5534 localhost 8441 5433
+