Merge pull request #827 from expa/mh-mv-default-vhost-to-core

Handle IP only access
This commit is contained in:
Jose Diaz-Gonzalez
2014-12-17 19:53:59 -05:00
5 changed files with 31 additions and 16 deletions

View File

@@ -72,6 +72,10 @@ case "$1" in
done done
;; ;;
esac esac
elif [[ -f "$DOKKU_ROOT/VHOST" ]]; then
echo "$SCHEME://$(< "$DOKKU_ROOT/VHOST")"
else
echo "$SCHEME://$(< "$DOKKU_ROOT/HOSTNAME")"
fi fi
;; ;;

View File

@@ -5,6 +5,10 @@ if [[ ! -f "$DOKKU_ROOT/HOSTNAME" ]]; then
echo $(hostname -f) > $DOKKU_ROOT/HOSTNAME echo $(hostname -f) > $DOKKU_ROOT/HOSTNAME
fi fi
if [[ ! -f "$DOKKU_ROOT/VHOST" ]]; then
[[ $(dig +short $(< "$DOKKU_ROOT/HOSTNAME")) ]] && cp "$DOKKU_ROOT/HOSTNAME" "$DOKKU_ROOT/VHOST"
fi
# temporary hack for https://github.com/progrium/dokku/issues/82 # temporary hack for https://github.com/progrium/dokku/issues/82
# redeploys all apps after a reboot # redeploys all apps after a reboot
case "$DOKKU_DISTRO" in case "$DOKKU_DISTRO" in

View File

@@ -18,19 +18,28 @@ case "$1" in
APP="$2"; VHOST_PATH="$DOKKU_ROOT/$APP/VHOST" APP="$2"; VHOST_PATH="$DOKKU_ROOT/$APP/VHOST"
if [[ ! -f $VHOST_PATH ]]; then if [[ ! -f $VHOST_PATH ]]; then
echo "-----> Creating new $VHOST_PATH..." if [[ -f "$DOKKU_ROOT/VHOST" ]];then
VHOST=$(< "$DOKKU_ROOT/VHOST") VHOST=$(< "$DOKKU_ROOT/VHOST")
SUBDOMAIN=${APP/%\.${VHOST}/} else
hostname=$(: | pluginhook nginx-hostname $APP $SUBDOMAIN $VHOST) VHOST=$(< "$DOKKU_ROOT/HOSTNAME")
if [[ ! -n $hostname ]]; then
if [[ "$APP" == *.* ]] && [[ "$SUBDOMAIN" == "$APP" ]]; then
hostname="${APP/\//-}"
else
hostname="${APP/\//-}.$VHOST"
fi
fi fi
if [[ "$VHOST" =~ ([0-9]{1,3}[\.]){3}[0-9]{1,3} ]];then
echo "ip found as hostname. disabling vhost support"
[[ ! $(grep -q NO_VHOST "$DOKKU_ROOT/$APP/ENV") ]] && echo "export NO_VHOST='1'" >> "$DOKKU_ROOT/$APP/ENV"
else
echo "-----> Creating new $VHOST_PATH..."
SUBDOMAIN=${APP/%\.${VHOST}/}
hostname=$(: | pluginhook nginx-hostname $APP $SUBDOMAIN $VHOST)
if [[ ! -n $hostname ]]; then
if [[ "$APP" == *.* ]] && [[ "$SUBDOMAIN" == "$APP" ]]; then
hostname="${APP/\//-}"
else
hostname="${APP/\//-}.$VHOST"
fi
fi
echo $hostname > $VHOST_PATH echo "$hostname" > $VHOST_PATH
fi
fi fi
;; ;;

View File

@@ -20,9 +20,11 @@ case "$1" in
VHOST_PATH="$DOKKU_ROOT/$APP/VHOST" VHOST_PATH="$DOKKU_ROOT/$APP/VHOST"
WILDCARD_SSL="$DOKKU_ROOT/tls" WILDCARD_SSL="$DOKKU_ROOT/tls"
SSL="$DOKKU_ROOT/$APP/tls" SSL="$DOKKU_ROOT/$APP/tls"
NONSSL_VHOSTS=`cat $VHOST_PATH`
[[ -f "$DOKKU_ROOT/$APP/ENV" ]] && source $DOKKU_ROOT/$APP/ENV
if [[ ! -n "$NO_VHOST" ]]; then if [[ ! -n "$NO_VHOST" ]]; then
NONSSL_VHOSTS=`cat $VHOST_PATH`
if [[ -e "$SSL/server.crt" ]] && [[ -e "$SSL/server.key" ]]; then if [[ -e "$SSL/server.crt" ]] && [[ -e "$SSL/server.key" ]]; then
SSL_INUSE="$SSL" SSL_INUSE="$SSL"
SSL_DIRECTIVES=$(cat <<EOF SSL_DIRECTIVES=$(cat <<EOF

View File

@@ -64,10 +64,6 @@ EOF
echo 'server_names_hash_bucket_size 512;' >| /etc/nginx/conf.d/server_names_hash_bucket_size.conf echo 'server_names_hash_bucket_size 512;' >| /etc/nginx/conf.d/server_names_hash_bucket_size.conf
if [[ ! -f "$DOKKU_ROOT/VHOST" ]]; then
[[ $(dig +short $(< "$DOKKU_ROOT/HOSTNAME")) ]] && cp "$DOKKU_ROOT/HOSTNAME" "$DOKKU_ROOT/VHOST"
fi
case "$DOKKU_DISTRO" in case "$DOKKU_DISTRO" in
ubuntu) ubuntu)
/etc/init.d/nginx start /etc/init.d/nginx start