Merge pull request #104 from alexanderbeletsky/ssl

issue #101: added ssl configuration
This commit is contained in:
Jeff Lindsay
2013-08-02 19:47:34 -07:00
2 changed files with 43 additions and 4 deletions

View File

@@ -1,6 +1,7 @@
#!/bin/bash
set -e
APP="$1"; PORT="$2"
SSL="$HOME/$APP/ssl"
if [[ -f "$HOME/VHOST" ]]; then
VHOST=$(< "$HOME/VHOST")
@@ -10,20 +11,55 @@ if [[ -f "$HOME/VHOST" ]]; then
else
hostname="${APP/\//-}.$VHOST"
fi
# ssl based nginx.conf
if [[ -f "$SSL/server.crt" ]] && [[ -f "$SSL/server.key" ]]; then
cat<<EOF > $HOME/$APP/nginx.conf
upstream $APP { server 127.0.0.1:$PORT; }
server {
server {
listen 80;
server_name $hostname;
return 301 https://\$host\$request_uri;
}
server {
listen 443;
server_name $hostname;
ssl on;
ssl_certificate $SSL/server.crt;
ssl_certificate_key $SSL/server.key;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES128-SHA:AES128-GCM-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!CAMELLIA;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://$APP;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host \$http_host;
proxy_set_header X-Scheme \$scheme;
}
}
EOF
else
# default nginx.conf
cat<<EOF > $HOME/$APP/nginx.conf
upstream $APP { server 127.0.0.1:$PORT; }
server {
listen 80;
server_name $hostname;
location / {
proxy_pass http://$APP;
proxy_http_version 1.1;
proxy_set_header Upgrade \$http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Connection "upgrade";
proxy_set_header Host \$http_host;
}
}
EOF
fi
nc -U $HOME/reload-nginx
echo "$hostname" > "$HOME/$APP/VHOST"
fi
fi