From 9d536985089479573d5d292e20fc18a9adfd72f4 Mon Sep 17 00:00:00 2001 From: Xiaohua Zhang Date: Fri, 8 Mar 2019 06:08:47 +0000 Subject: [PATCH] Add https support for multicloud broker The https endpoint can be enabled by setting env: SSL_ENABLED=true Change-Id: I69d1301df24492df11b782f19ae3ef36c25f1d94 Issue-ID: MULTICLOUD-522 Signed-off-by: Xiaohua Zhang --- multivimbroker/assembly.xml | 2 ++ multivimbroker/docker/Dockerfile | 6 +++-- .../multivimbroker/pub/ssl/cert/cert.crt | 22 +++++++++++++++++ .../multivimbroker/pub/ssl/cert/cert.key | 28 ++++++++++++++++++++++ multivimbroker/run.sh | 6 ++++- 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 multivimbroker/multivimbroker/pub/ssl/cert/cert.crt create mode 100644 multivimbroker/multivimbroker/pub/ssl/cert/cert.key diff --git a/multivimbroker/assembly.xml b/multivimbroker/assembly.xml index 14dd809..1b6d09e 100644 --- a/multivimbroker/assembly.xml +++ b/multivimbroker/assembly.xml @@ -30,6 +30,8 @@ **/*.xsd **/*.bpel **/*.yml + **/*.crt + **/*.key diff --git a/multivimbroker/docker/Dockerfile b/multivimbroker/docker/Dockerfile index 1ff3724..aaac4ea 100644 --- a/multivimbroker/docker/Dockerfile +++ b/multivimbroker/docker/Dockerfile @@ -14,15 +14,17 @@ RUN groupadd -r onap && useradd -r -g onap onap # COPY ./ /opt/multivimbroker/ RUN apt-get update && \ - apt-get install -y wget unzip gcc && \ + apt-get install -y wget unzip gcc libssl-dev && \ cd /opt/ && \ wget -O multicloud-framework.zip "https://nexus.onap.org/service/local/artifact/maven/redirect?r=snapshots&g=org.onap.multicloud.framework.broker&a=multicloud-framework-broker&e=zip&v=1.3.0-SNAPSHOT" && \ unzip -q -o -B multicloud-framework.zip && \ rm -f multicloud-framework.zip && \ pip install -r /opt/multivimbroker/requirements.txt && \ pip install -r /opt/multivimbroker/uwsgi-requirements.txt && \ - apt-get --purge remove -y wget unzip gcc && \ + apt-get --purge remove -y wget unzip gcc libssl-dev && \ apt-get -y autoremove && \ + mkdir -p /var/log/onap/multicloud/multivimbroker && \ + chown onap:onap /var/log/onap -R && \ chown onap:onap /opt/multivimbroker -R USER onap diff --git a/multivimbroker/multivimbroker/pub/ssl/cert/cert.crt b/multivimbroker/multivimbroker/pub/ssl/cert/cert.crt new file mode 100644 index 0000000..de0c10d --- /dev/null +++ b/multivimbroker/multivimbroker/pub/ssl/cert/cert.crt @@ -0,0 +1,22 @@ +-----BEGIN CERTIFICATE----- +MIIDgzCCAmsCCQD9YEV2Kl0P0zANBgkqhkiG9w0BAQsFADCBijELMAkGA1UEBhMC +Q04xETAPBgNVBAgMCHNpY2h1YW5nMRAwDgYDVQQHDAdjaGVuZ2R1MQwwCgYDVQQK +DAN6dGUxDjAMBgNVBAsMBXplbmFwMTgwNgYDVQQDDC9aVEUgT3BlblBhbGV0dGUg +Um9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkgMjAxNzAeFw0xNzAzMTcwMjA4MTRa +Fw0yNzAzMTUwMjA4MTRaMHwxCzAJBgNVBAYTAkNOMREwDwYDVQQIDAhzaWNodWFu +ZzEQMA4GA1UEBwwHY2hlbmdkdTEMMAoGA1UECgwDenRlMQ4wDAYDVQQLDAV6ZW5h +cDEVMBMGA1UEAwwMKi56dGUuY29tLmNuMRMwEQYJKoZIhvcNAQkBFgRudWxsMIIB +IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxrViVMgvwA9yYBJvGsPtD0GF +Yv0fCL4Uo7gewitKImP8D8UtV7eRXZrEDtvnB2/jg/SpCeHelzR2OWdnjsWCWLeW +ERnff6Pm+tccKMQUqJllV477L+n45xlUw2Iv4w8k1M2AyQ+hqWOz9Tp+fp8XICAw +wiqqKDEclo2/Psgf5SmptZbNmjv4moKUGLy3lkgOTXz/dw9BZcid77cyhhQt0RrI +BLz/jBigkA0fWSeZIb4nTt/24JeeKLPjMUWeAwYebiS4pckICXkTpLl8/Owsqq3B +tuf2Qk3Jag0UO5zvNbl09+o9VyQcdDwPHSrbXXVSCvOsFkxbVEqZzAH7VheKnwID +AQABMA0GCSqGSIb3DQEBCwUAA4IBAQA7lw0gXfP+kfcU9cKkNmg5CtoKV2T7Xpnt +jw1Tn0YuzxR3xQmFsfcXGCD5S540uQiwINZgk+NE2qzTJylShPnjUW6DvHnzdayy +oKJmlKasZ8NCpv9lHAu+eggAMCbV1MH1mZVJqiED0gaenQAFGRAjyL7507CW9iCX +jBEEWOITpBQXQAC8TsOTQB1cHqIHFOi0rmSoDKlnGXjmofD1u3r5PChLaz4PkvGu +6CSYkOojbNYUcL4ghbFgY+dsDReN9v7nF8TQa2Vgx5cBYqqYHlBXfT1p9PP581Q8 +nWiSumRfQCwZzXdr7iUEKM3521GYKHLXfbs/aRtWAnd1ziHBpCuf +-----END CERTIFICATE----- + diff --git a/multivimbroker/multivimbroker/pub/ssl/cert/cert.key b/multivimbroker/multivimbroker/pub/ssl/cert/cert.key new file mode 100644 index 0000000..5dec275 --- /dev/null +++ b/multivimbroker/multivimbroker/pub/ssl/cert/cert.key @@ -0,0 +1,28 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAxrViVMgvwA9yYBJvGsPtD0GFYv0fCL4Uo7gewitKImP8D8Ut +V7eRXZrEDtvnB2/jg/SpCeHelzR2OWdnjsWCWLeWERnff6Pm+tccKMQUqJllV477 +L+n45xlUw2Iv4w8k1M2AyQ+hqWOz9Tp+fp8XICAwwiqqKDEclo2/Psgf5SmptZbN +mjv4moKUGLy3lkgOTXz/dw9BZcid77cyhhQt0RrIBLz/jBigkA0fWSeZIb4nTt/2 +4JeeKLPjMUWeAwYebiS4pckICXkTpLl8/Owsqq3Btuf2Qk3Jag0UO5zvNbl09+o9 +VyQcdDwPHSrbXXVSCvOsFkxbVEqZzAH7VheKnwIDAQABAoIBAAFcgsTz7ifRs0Xn +Om2jg/9Dwqcv9sN3keqhO0y3QTXFG5f8ENh2AH/0rH0xkn6hjJx9056mtoCwslKo +W7RFtCPpdhS96aMVO2LikGXTGhUhn+keqKfmYXcr3EHObWeP1f/DPKuj+MaRUU1P +zkgNzPnCXrMl2a6Wz4xUgkfq1RUb1dv9C2cKGqHWYmUVx+mtATfTk4zXM/d47PRG +gpkJP40fwfUBo0dTuPdU4NxkG4LlcaJQv23bNAqyaz1Jo9E5yu4jKeTOns0bfJCd +Qvg9C91B3i3kcw1lBhk7qiS4vsdCLUrGRisIsveYC6rLgC3b+DNsRFZtxy0GetzN +1IYe8oECgYEA+FZyUqrdM8KwdQLiEoKsTSQMKt3gZh608cYKtvwkWSiWe9zoPx0H +KosyejrDd850XKqY3xOCf888H5benivrX9MmOtCxs5A/sVoooinJ7xTA7SaR3Qx6 +VpUZh6FewaG2QuWYSUmUEIbcSRhFX+qtWAtcG+HNzxU5x/cDjf/m3V8CgYEAzNbu +F64VZ/Dl8caAj7huM9wEST4ZTOx7xJCbcz7DmAJs3/XjacpK4S1sfsPBHwrnbCIQ +gO+AXbGUTuNze6QDR3uU/rRMk+qFZsuFHmNfwkJD0LWbsGP3FlHzVaW1oC1o8IgF +A9d5PV0eDoUV9dOfdhGR/48VS1xXA0YPWETRGsECgYAxzHQEa8sL1CC6dieLerS+ +i1n9Rpz3HXU/fm0roIhRcLgsgnH4JgQH3f3zUNFdtwLSiks5gJoMsyvlUcW2hiwe +/SKPbMYVsflzwRag3ixmSw0dAT0CzLvDnQaPkiaEQb9gztWo7J5KaiDGb52JzG+S +VkTUOoWg3yrFFJ2b3hMXlQKBgQCWVT9UPb0UFaaM9OQxlme6w8SZhGvJGt4S+xY7 +VFr0WwNQswN+BqtB67Zuqng3sib6I139YsjQ+p0f8Ko2mb6WXcqRy/1PqZTSRpei +H8iNp1hh+ocSw6r5xJdTylQsBGe57/nOQfuG36pJeb8ONYwYePivmHFGZ7SsgGSO +oaLdgQKBgQDerPjMGy0QxLXj/GncsfiK+ailuYsk9xAP6qIK780Nbl4m0UcjPVbf +vlgjL28HwtPYbWJCMp9rWKFfvavgxYALpgoEBC86UXfq7FHy8daBO69Juv/3smac +XtZPL1ejc2upq+XVwvOchfNSrxeyna3IhH+R6AugHWBu50ljImPJ7g== +-----END RSA PRIVATE KEY----- + diff --git a/multivimbroker/run.sh b/multivimbroker/run.sh index 9eaf2b3..2de0c05 100755 --- a/multivimbroker/run.sh +++ b/multivimbroker/run.sh @@ -31,7 +31,11 @@ then python multivimbroker/scripts/api.py else # nohup python manage.py runserver 0.0.0.0:9001 2>&1 & - nohup uwsgi --http :9001 -t 120 --module multivimbroker.wsgi --master --processes 4 & + if [ ${SSL_ENABLED} = "true" ]; then + nohup uwsgi --https :9001,multivimbroker/pub/ssl/cert/cert.crt,multivimbroker/pub/ssl/cert/cert.key -t 120 --module multivimbroker.wsgi --master --processes 4 & + else + nohup uwsgi --http :9001 -t 120 --module multivimbroker.wsgi --master --processes 4 & + fi while [ ! -f $logDir/multivimbroker.log ]; do sleep 1 -- 2.16.6