mirror of
https://github.com/cytopia/devilbox.git
synced 2025-04-08 11:34:14 +00:00
Refs #480 Add HAProxy in front of Varnish for SSL offloading
This commit is contained in:
parent
b76a568a8b
commit
cdb27c836f
@ -14,7 +14,7 @@ putenv('RES_OPTIONS=retrans:1 retry:1 timeout:1 attempts:1');
|
||||
|
||||
|
||||
$DEVILBOX_VERSION = 'v0.15';
|
||||
$DEVILBOX_DATE = '2019-02-23';
|
||||
$DEVILBOX_DATE = '2019-02-27';
|
||||
$DEVILBOX_API_PAGE = 'devilbox-api/status.json';
|
||||
|
||||
//
|
||||
|
@ -110,6 +110,14 @@
|
||||
*/
|
||||
function checkDns(vhost) {
|
||||
var xhttp = new XMLHttpRequest();
|
||||
var proto;
|
||||
var port;
|
||||
var name = vhost + '.<?php echo loadClass('Httpd')->getTldSuffix();?>'
|
||||
|
||||
var url = window.location.href.split("/");
|
||||
var tmp = url[2].split(":");
|
||||
proto = url[0];
|
||||
port = tmp.length == 2 ? ':' + tmp[1] : '';
|
||||
|
||||
// Timeout after XXX seconds and mark it invalid DNS
|
||||
xhttp.timeout = <?php echo loadClass('Helper')->getEnv('DNS_CHECK_TIMEOUT');?>000;
|
||||
@ -125,12 +133,12 @@
|
||||
if (el_valid.innerHTML != 'WARN') {
|
||||
el_valid.innerHTML = 'OK';
|
||||
}
|
||||
el_href.innerHTML = '<a target="_blank" href="//'+vhost+'.<?php echo loadClass('Httpd')->getTldSuffix().loadClass('Httpd')->getPort();?>">'+vhost+'.<?php echo loadClass('Httpd')->getTldSuffix().loadClass('Httpd')->getPort();?></a>' + el_href.innerHTML;
|
||||
el_href.innerHTML = '<a target="_blank" href="'+proto+'//'+name+port+'">'+name+port+'</a>' + el_href.innerHTML;
|
||||
} else {
|
||||
//console.log(vhost);
|
||||
}
|
||||
}
|
||||
xhttp.open('POST', '//'+vhost+'.<?php echo loadClass('Httpd')->getTldSuffix().loadClass('Httpd')->getPort();?>/devilbox-api/status.json', true);
|
||||
xhttp.open('POST', proto+'//'+name+port+'/devilbox-api/status.json', true);
|
||||
xhttp.send();
|
||||
|
||||
// Timeout to abort in 1 second
|
||||
|
@ -90,7 +90,7 @@ services:
|
||||
# Varnish
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
varnish:
|
||||
image: devilbox/varnish:${VARNISH_SERVER:-6}
|
||||
image: devilbox/varnish:${VARNISH_SERVER:-6}-0.3
|
||||
hostname: varnish
|
||||
ports:
|
||||
- "${LOCAL_LISTEN_ADDR}${HOST_PORT_VARNISH:-6081}:6081"
|
||||
@ -110,6 +110,31 @@ services:
|
||||
- php
|
||||
- httpd
|
||||
|
||||
haproxy:
|
||||
image: devilbox/haproxy:0.2
|
||||
hostname: haproxy
|
||||
ports:
|
||||
- "${LOCAL_LISTEN_ADDR}${HOST_PORT_HAPROXY:-8080}:80"
|
||||
- "${LOCAL_LISTEN_ADDR}${HOST_PORT_HAPROXY_SSL:-8443}:443"
|
||||
networks:
|
||||
app_net:
|
||||
ipv4_address: 172.16.238.231
|
||||
environment:
|
||||
- BACKEND_ADDR=varnish
|
||||
- BACKEND_PORT=6081
|
||||
- DEVILBOX_UI_SSL_CN
|
||||
- TLD_SUFFIX
|
||||
volumes:
|
||||
# Certificate Authority public key
|
||||
- ${DEVILBOX_PATH}/ca:/ca:rw${MOUNT_OPTIONS}
|
||||
# Mount custom mass virtual hosting
|
||||
- ${HOST_PATH_HTTPD_DATADIR}:/shared/httpd:rw${MOUNT_OPTIONS}
|
||||
depends_on:
|
||||
- bind
|
||||
- php
|
||||
- httpd
|
||||
- varnish
|
||||
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
# ELK Stack
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
|
@ -7,7 +7,7 @@ services:
|
||||
# Varnish
|
||||
# -----------------------------------------------------------------------------------------------
|
||||
varnish:
|
||||
image: devilbox/varnish:${VARNISH_SERVER:-6}
|
||||
image: devilbox/varnish:${VARNISH_SERVER:-6}-0.3
|
||||
hostname: varnish
|
||||
ports:
|
||||
- "${LOCAL_LISTEN_ADDR}${HOST_PORT_VARNISH:-6081}:6081"
|
||||
@ -26,3 +26,28 @@ services:
|
||||
- bind
|
||||
- php
|
||||
- httpd
|
||||
|
||||
haproxy:
|
||||
image: devilbox/haproxy:0.2
|
||||
hostname: haproxy
|
||||
ports:
|
||||
- "${LOCAL_LISTEN_ADDR}${HOST_PORT_HAPROXY:-8080}:80"
|
||||
- "${LOCAL_LISTEN_ADDR}${HOST_PORT_HAPROXY_SSL:-8443}:443"
|
||||
networks:
|
||||
app_net:
|
||||
ipv4_address: 172.16.238.231
|
||||
environment:
|
||||
- BACKEND_ADDR=varnish
|
||||
- BACKEND_PORT=6081
|
||||
- DEVILBOX_UI_SSL_CN
|
||||
- TLD_SUFFIX
|
||||
volumes:
|
||||
# Certificate Authority public key
|
||||
- ${DEVILBOX_PATH}/ca:/ca:rw${MOUNT_OPTIONS}
|
||||
# Mount custom mass virtual hosting
|
||||
- ${HOST_PATH_HTTPD_DATADIR}:/shared/httpd:rw${MOUNT_OPTIONS}
|
||||
depends_on:
|
||||
- bind
|
||||
- php
|
||||
- httpd
|
||||
- varnish
|
||||
|
Loading…
x
Reference in New Issue
Block a user