diff --git a/cfg/vhost-gen/apache22.yml-example-rproxy b/cfg/vhost-gen/apache22.yml-example-rproxy index e69de29b..befed4f8 100644 --- a/cfg/vhost-gen/apache22.yml-example-rproxy +++ b/cfg/vhost-gen/apache22.yml-example-rproxy @@ -0,0 +1,133 @@ +--- + +# Apache 2.2 vHost Template defintion for vhost-gen.py +# +# The 'feature' section contains optional features that can be enabled via +# conf.yml and will then be replaced into the main vhost ('structure' section) +# into their corresponding position: +# +# __XDOMAIN_REQ__ +# __PHP_FPM__ +# __ALIASES__ +# __DENIES__ +# __STATUS__ +# +# The features itself also contain variables to be adjusted in conf.yml +# and will then be replaced in their corresponding feature section +# before being replaced into the vhost section (if enabled): +# +# PHP-FPM: +# __PHP_ADDR__ +# __PHP_PORT__ +# XDomain: +# __REGEX__ +# Alias: +# __REGEX__ +# __PATH__ +# Deny: +# __REGEX__ +# Status: +# __REGEX__ +# +# Variables to be replaced directly in the vhost configuration can also be set +# in conf.yml and include: +# __VHOST_NAME__ +# __DOCUMENT_ROOT__ +# __INDEX__ +# __ACCESS_LOG__ +# __ERROR_LOG__ +# __PHP_ADDR__ +# __PHP_PORT__ +# + + +### +### Basic vHost skeleton +### +vhost: | + + ServerName __VHOST_NAME__ + + CustomLog "__ACCESS_LOG__" combined + ErrorLog "__ERROR_LOG__" + + # Reverse Proxy definition (Ensure to adjust the port, currently '8000') + ProxyRequests On + ProxyPreserveHost On + ProxyPass / http://php:8000/ + ProxyPassReverse / http://php:8000/ + + __REDIRECT__ + __SSL__ + __ALIASES__ + __DENIES__ + __SERVER_STATUS__ + # Custom directives + __CUSTOM__ + + +### +### vHost Type (normal or reverse proxy) +### +vhost_type: + docroot: "" + rproxy: "" + +### +### Optional features to be enabled in vHost +### +features: + + # SSL Configuration + ssl: | + SSLEngine on + SSLCertificateFile "__SSL_PATH_CRT__" + SSLCertificateKeyFile "__SSL_PATH_KEY__" + SSLProtocol __SSL_PROTOCOLS__ + SSLHonorCipherOrder __SSL_HONOR_CIPHER_ORDER__ + SSLCipherSuite __SSL_CIPHERS__ + + # Redirect to SSL directive + redirect: | + RedirectMatch (.*) https://__VHOST_NAME__:__SSL_PORT__$1 + + # PHP-FPM left empty, as we are an reverse proxy configuration + php_fpm: "" + + alias: | + # Alias Definition + Alias "__ALIAS__" "__PATH____ALIAS__" + + __XDOMAIN_REQ__ + + + Order allow,deny + Allow from all + + + deny: | + # Deny Definition + + Order allow,deny + Deny from all + + + server_status: | + # Status Page + + SetHandler server-status + Order allow,deny + Allow from all + + + xdomain_request: | + # Allow cross domain request from these hosts + SetEnvIf Origin "__REGEX__" AccessControlAllowOrigin=$0 + Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin + Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" + Header always set Access-Control-Max-Age "0" + Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" + # Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request. + RewriteEngine On + RewriteCond %{REQUEST_METHOD} OPTIONS + RewriteRule ^(.*)$ $1 [R=200,L] diff --git a/cfg/vhost-gen/apache22.yml-example-vhost b/cfg/vhost-gen/apache22.yml-example-vhost index 158de62e..1740ce0d 100644 --- a/cfg/vhost-gen/apache22.yml-example-vhost +++ b/cfg/vhost-gen/apache22.yml-example-vhost @@ -87,17 +87,10 @@ vhost_type: # Reverse Proxy (-r) rproxy: | # Define the vhost to reverse proxy - ProxyRequests off - ProxyPass __LOCATION__ __PROXY_PROTO://__PROXY_ADDR__:__PROXY_PORT__ - ProxyHTMLURLMap __PROXY_PROTO://__PROXY_ADDR__:__PROXY_PORT__ __LOCATION__ - - ProxyPassReverse / - SetOutputFilter proxy-html - ProxyHTMLURLMap / __LOCATION__ - ProxyHTMLURLMap __LOCATION__ __LOCATION__ - RequestHeader unset Accept-Encoding - - + ProxyRequests On + ProxyPreserveHost On + ProxyPass __LOCATION__ __PROXY_PROTO__://__PROXY_ADDR__:__PROXY_PORT____LOCATION__ + ProxyPassReverse __LOCATION__ __PROXY_PROTO__://__PROXY_ADDR__:__PROXY_PORT____LOCATION__ ### ### Optional features to be enabled in vHost diff --git a/cfg/vhost-gen/apache24.yml-example-rproxy b/cfg/vhost-gen/apache24.yml-example-rproxy index e69de29b..75432a42 100644 --- a/cfg/vhost-gen/apache24.yml-example-rproxy +++ b/cfg/vhost-gen/apache24.yml-example-rproxy @@ -0,0 +1,135 @@ +--- + +# Apache 2.4 vHost Template defintion for vhost-gen.py +# +# The 'feature' section contains optional features that can be enabled via +# conf.yml and will then be replaced into the main vhost ('structure' section) +# into their corresponding position: +# +# __XDOMAIN_REQ__ +# __PHP_FPM__ +# __ALIASES__ +# __DENIES__ +# __STATUS__ +# +# The features itself also contain variables to be adjusted in conf.yml +# and will then be replaced in their corresponding feature section +# before being replaced into the vhost section (if enabled): +# +# PHP-FPM: +# __PHP_ADDR__ +# __PHP_PORT__ +# XDomain: +# __REGEX__ +# Alias: +# __REGEX__ +# __PATH__ +# Deny: +# __REGEX__ +# Status: +# __REGEX__ +# +# Variables to be replaced directly in the vhost configuration can also be set +# in conf.yml and include: +# __VHOST_NAME__ +# __DOCUMENT_ROOT__ +# __INDEX__ +# __ACCESS_LOG__ +# __ERROR_LOG__ +# __PHP_ADDR__ +# __PHP_PORT__ +# + + +### +### Basic vHost skeleton +### +vhost: | + + ServerName __VHOST_NAME__ + + CustomLog "__ACCESS_LOG__" combined + ErrorLog "__ERROR_LOG__" + + # Reverse Proxy definition (Ensure to adjust the port, currently '8000') + ProxyRequests On + ProxyPreserveHost On + ProxyPass / http://php:8000/ + ProxyPassReverse / http://php:8000/ + + __REDIRECT__ + __SSL__ + __ALIASES__ + __DENIES__ + __SERVER_STATUS__ + # Custom directives + __CUSTOM__ + + +### +### vHost Type (normal or reverse proxy) +### +vhost_type: + docroot: "" + rproxy: "" + +### +### Optional features to be enabled in vHost +### +features: + + # SSL Configuration + ssl: | + SSLEngine on + SSLCertificateFile "__SSL_PATH_CRT__" + SSLCertificateKeyFile "__SSL_PATH_KEY__" + SSLProtocol __SSL_PROTOCOLS__ + SSLHonorCipherOrder __SSL_HONOR_CIPHER_ORDER__ + SSLCipherSuite __SSL_CIPHERS__ + + # Redirect to SSL directive + redirect: | + RedirectMatch (.*) https://__VHOST_NAME__:__SSL_PORT__$1 + + # PHP-FPM left empty, as we are an reverse proxy configuration + php_fpm: "" + + alias: | + # Alias Definition + Alias "__ALIAS__" "__PATH____ALIAS__" + + __XDOMAIN_REQ__ + + + Order allow,deny + Allow from all + Require all granted + + + deny: | + # Deny Definition + + Order allow,deny + Deny from all + + + server_status: | + # Status Page + + SetHandler server-status + Order allow,deny + Allow from all + Require all granted + + + xdomain_request: | + # Allow cross domain request from these hosts + SetEnvIf Origin "__REGEX__" AccessControlAllowOrigin=$0 + Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin + Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" + Header always set Access-Control-Max-Age "0" + Header always set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token" + # Added a rewrite to respond with a 200 SUCCESS on every OPTIONS request. + RewriteEngine On + RewriteCond %{REQUEST_METHOD} OPTIONS + RewriteRule ^(.*)$ $1 [R=200,L] diff --git a/cfg/vhost-gen/apache24.yml-example-vhost b/cfg/vhost-gen/apache24.yml-example-vhost index 8703d096..ca8a036f 100644 --- a/cfg/vhost-gen/apache24.yml-example-vhost +++ b/cfg/vhost-gen/apache24.yml-example-vhost @@ -88,16 +88,10 @@ vhost_type: # Reverse Proxy (-r) rproxy: | # Define the vhost to reverse proxy - ProxyRequests off - ProxyPass __LOCATION__ __PROXY_PROTO://__PROXY_ADDR__:__PROXY_PORT__ - ProxyHTMLURLMap __PROXY_PROTO://__PROXY_ADDR__:__PROXY_PORT__ __LOCATION__ - - ProxyPassReverse / - SetOutputFilter proxy-html - ProxyHTMLURLMap / __LOCATION__ - ProxyHTMLURLMap __LOCATION__ __LOCATION__ - RequestHeader unset Accept-Encoding - + ProxyRequests On + ProxyPreserveHost On + ProxyPass __LOCATION__ __PROXY_PROTO__://__PROXY_ADDR__:__PROXY_PORT____LOCATION__ + ProxyPassReverse __LOCATION__ __PROXY_PROTO__://__PROXY_ADDR__:__PROXY_PORT____LOCATION__ ###