-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
84a22d4
commit d194ec5
Showing
1 changed file
with
152 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,152 @@ | ||
--- | ||
|
||
# Nginx 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: | | ||
upstream __HTTP_PROTO____DEFAULT_VHOST__fastcgi_backend { | ||
# use tcp connection | ||
# server 127.0.0.1:9000; | ||
# or socket | ||
server 172.16.238.10:9000; | ||
} | ||
server { | ||
listen __PORT____HTTP_PROTO____DEFAULT_VHOST__; | ||
server_name __VHOST_NAME__; | ||
access_log "__ACCESS_LOG__" combined; | ||
error_log "__ERROR_LOG__" warn; | ||
set $MAGE_ROOT "/shared/httpd/project"; | ||
set $MAGE_MODE developer; | ||
set $MAGE_DEBUG_SHOW_ARGS 1; | ||
include "/shared/httpd/project/nginx.conf.sample"; | ||
__REDIRECT__ | ||
__SSL__ | ||
__VHOST_DOCROOT__ | ||
__VHOST_RPROXY__ | ||
__PHP_FPM__ | ||
__ALIASES__ | ||
__DENIES__ | ||
__SERVER_STATUS__ | ||
# Custom directives | ||
__CUSTOM__ | ||
} | ||
### | ||
### vHost Type (normal or reverse proxy) | ||
### | ||
vhost_type: | ||
# Normal vHost (-p) | ||
docroot: | | ||
# Define the vhost to serve files | ||
# root "__DOCUMENT_ROOT__"; | ||
index __INDEX__; | ||
# Reverse Proxy (-r) | ||
rproxy: | | ||
# Define the vhost to reverse proxy | ||
location __LOCATION__ { | ||
proxy_set_header Host $host; | ||
proxy_set_header X-Real-IP $remote_addr; | ||
proxy_pass __PROXY_PROTO__://__PROXY_ADDR__:__PROXY_PORT__; | ||
} | ||
### | ||
### Optional features to be enabled in vHost | ||
### | ||
features: | ||
|
||
# SSL Configuration | ||
ssl: | | ||
ssl_certificate __SSL_PATH_CRT__; | ||
ssl_certificate_key __SSL_PATH_KEY__; | ||
ssl_protocols __SSL_PROTOCOLS__; | ||
ssl_prefer_server_ciphers __SSL_HONOR_CIPHER_ORDER__; | ||
ssl_ciphers __SSL_CIPHERS__; | ||
# Redirect to SSL directive | ||
redirect: | | ||
return 301 https://__VHOST_NAME__:__SSL_PORT__$request_uri; | ||
# PHP-FPM will not be applied to a reverse proxy! | ||
php_fpm: | | ||
# PHP-FPM Definition | ||
alias: | | ||
# Alias Definition | ||
location ~ __ALIAS__ { | ||
root __PATH__; | ||
__XDOMAIN_REQ__ | ||
} | ||
deny: | | ||
# Deny Definition | ||
location ~ __REGEX__ { | ||
deny all; | ||
} | ||
server_status: | | ||
# Status Page | ||
location ~ __REGEX__ { | ||
stub_status on; | ||
access_log off; | ||
} | ||
xdomain_request: | | ||
# Allow cross domain request from these hosts | ||
if ( $http_origin ~* (__REGEX__) ) { | ||
add_header "Access-Control-Allow-Origin" "$http_origin"; | ||
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; | ||
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; | ||
add_header 'Access-Control-Expose-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range'; | ||
add_header 'Access-Control-Max-Age' 0; | ||
return 200; | ||
} |