git clone https://gist.github.com/b6cca73ed8dcf3388bbab12ad19cca54.git
cd b6cca73ed8dcf3388bbab12ad19cca54
docker-compose pull
docker-compose down -v
docker-compose up -d
-
-
Save nicosingh/b6cca73ed8dcf3388bbab12ad19cca54 to your computer and use it in GitHub Desktop.
load balanced http proxies with custom headers
This file contains hidden or 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
version: "3" | |
services: | |
load_balancer: | |
image: nginx | |
volumes: | |
- ./load-balancer.conf:/etc/nginx/nginx.conf | |
ports: | |
- 80:80 | |
depends_on: | |
- service_layer_proxy_user_1 | |
- service_layer_proxy_user_2 | |
- service_layer_proxy_user_3 | |
service_layer_proxy_user_1: | |
image: nginx | |
volumes: | |
- ./proxy-user-1.conf:/etc/nginx/nginx.conf | |
depends_on: | |
- service_layer_lb | |
service_layer_proxy_user_2: | |
image: nginx | |
volumes: | |
- ./proxy-user-2.conf:/etc/nginx/nginx.conf | |
depends_on: | |
- service_layer_lb | |
service_layer_proxy_user_3: | |
image: nginx | |
volumes: | |
- ./proxy-user-3.conf:/etc/nginx/nginx.conf | |
depends_on: | |
- service_layer_lb | |
service_layer_lb: | |
image: containous/whoami |
This file contains hidden or 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
user nginx; | |
worker_processes 1; | |
error_log /var/log/nginx/error.log warn; | |
pid /var/run/nginx.pid; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include /etc/nginx/mime.types; | |
default_type application/octet-stream; | |
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | |
'$status $body_bytes_sent "$http_referer" ' | |
'"$http_user_agent" "$http_x_forwarded_for"'; | |
access_log /var/log/nginx/access.log main; | |
sendfile on; | |
keepalive_timeout 65; | |
upstream backend { | |
server service_layer_proxy_user_1; | |
server service_layer_proxy_user_2; | |
server service_layer_proxy_user_3; | |
} | |
server { | |
listen 80; | |
listen [::]:80; | |
server_name localhost; | |
location / { | |
proxy_pass http://backend; | |
} | |
} | |
} |
This file contains hidden or 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
user nginx; | |
worker_processes 1; | |
error_log /var/log/nginx/error.log warn; | |
pid /var/run/nginx.pid; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include /etc/nginx/mime.types; | |
default_type application/octet-stream; | |
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | |
'$status $body_bytes_sent "$http_referer" ' | |
'"$http_user_agent" "$http_x_forwarded_for"'; | |
access_log /var/log/nginx/access.log main; | |
sendfile on; | |
keepalive_timeout 65; | |
server { | |
listen 80; | |
listen [::]:80; | |
server_name localhost; | |
location / { | |
proxy_set_header service-layer-user-custom-header user-1; | |
proxy_pass http://service_layer_lb; | |
} | |
} | |
} |
This file contains hidden or 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
user nginx; | |
worker_processes 1; | |
error_log /var/log/nginx/error.log warn; | |
pid /var/run/nginx.pid; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include /etc/nginx/mime.types; | |
default_type application/octet-stream; | |
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | |
'$status $body_bytes_sent "$http_referer" ' | |
'"$http_user_agent" "$http_x_forwarded_for"'; | |
access_log /var/log/nginx/access.log main; | |
sendfile on; | |
keepalive_timeout 65; | |
server { | |
listen 80; | |
listen [::]:80; | |
server_name localhost; | |
location / { | |
proxy_set_header service-layer-user-custom-header user-2; | |
proxy_pass http://service_layer_lb; | |
} | |
} | |
} |
This file contains hidden or 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
user nginx; | |
worker_processes 1; | |
error_log /var/log/nginx/error.log warn; | |
pid /var/run/nginx.pid; | |
events { | |
worker_connections 1024; | |
} | |
http { | |
include /etc/nginx/mime.types; | |
default_type application/octet-stream; | |
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | |
'$status $body_bytes_sent "$http_referer" ' | |
'"$http_user_agent" "$http_x_forwarded_for"'; | |
access_log /var/log/nginx/access.log main; | |
sendfile on; | |
keepalive_timeout 65; | |
server { | |
listen 80; | |
listen [::]:80; | |
server_name localhost; | |
location / { | |
proxy_set_header service-layer-user-custom-header user-3; | |
proxy_pass http://service_layer_lb; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment