Browse Source

Refactor the redirects of nginx inside a template

feature/more-args
nicolas.dorier 6 years ago
parent
commit
c70dbb8916
  1. 133
      Production/nginx.tmpl

133
Production/nginx.tmpl

@ -21,6 +21,72 @@
{{ end }}
{{ define "redirects" }}
{{ if eq $.HostName "btcpay" }}
{{ range $container := $.Containers }}
{{ $serviceName := (index $container.Labels "com.docker.compose.service") }}
{{ if (eq $serviceName "lnd_bitcoin") }}
location /lnrpc.Lightning {
grpc_pass grpcs://lnd_bitcoin:10009;
}
location /lnd-rest/btc/ {
rewrite ^/lnd-rest/btc/(.*) /$1 break;
proxy_pass http://lnd_bitcoin:8080/;
}
{{ end }}
{{ if (eq $serviceName "lnd_bitcoin_rtl") }}
location /rtl/ {
proxy_pass http://lnd_bitcoin_rtl:3000/rtl/;
}
{{ end }}
{{ if (eq $serviceName "btcqbo") }}
location /btcqbo/ {
proxy_pass http://btcqbo:8001;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
{{ end }}
{{ if (eq $serviceName "clightning_bitcoin_spark") }}
location /spark/btc/ {
proxy_pass http://clightning_bitcoin_spark:9737/;
}
{{ end }}
{{ if (eq $serviceName "clightning_bitcoin_charge") }}
location /lightning-charge/btc/ {
proxy_pass http://clightning_bitcoin_charge:9112/;
}
{{ end }}
{{ if (eq $serviceName "clightning_groestlcoin_spark") }}
location /spark/grs/ {
proxy_pass http://clightning_groestlcoin_spark:9739/;
}
{{ end }}
{{ if (eq $serviceName "clightning_groestlcoin_charge") }}
location /lightning-charge/grs/ {
proxy_pass http://clightning_groestlcoin_charge:9112/;
}
{{ end }}
{{ end }}
{{ end }}
{{ if eq $.HostName "librepatron" }}
{{ range $container := $.Containers }}
{{ $serviceName := (index $container.Labels "com.docker.compose.service") }}
{{ if (eq $serviceName "isso") }}
location /isso {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Script-Name /isso;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://isso:8080;
}
{{ end }}
{{ end }}
{{ end }}
{{ end }}
# If we receive X-Forwarded-Proto, pass it through; otherwise, pass along the
# scheme used to connect to this server
map $http_x_forwarded_proto $proxy_x_forwarded_proto {
@ -297,73 +363,8 @@ server {
{{ else if (exists "/etc/nginx/vhost.d/default_location") }}
include /etc/nginx/vhost.d/default_location;
{{ end }}
}
{{ if eq $host_name "btcpay" }}
{{ range $container := $ }}
{{ $serviceName := (index $container.Labels "com.docker.compose.service") }}
{{ if (eq $serviceName "lnd_bitcoin") }}
location /lnrpc.Lightning {
grpc_pass grpcs://lnd_bitcoin:10009;
}
location /lnd-rest/btc/ {
rewrite ^/lnd-rest/btc/(.*) /$1 break;
proxy_pass http://lnd_bitcoin:8080/;
}
{{ end }}
{{ if (eq $serviceName "lnd_bitcoin_rtl") }}
location /rtl/ {
proxy_pass http://lnd_bitcoin_rtl:3000/rtl/;
}
{{ end }}
{{ if (eq $serviceName "btcqbo") }}
location /btcqbo/ {
proxy_pass http://btcqbo:8001;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
{{ end }}
{{ if (eq $serviceName "clightning_bitcoin_spark") }}
location /spark/btc/ {
proxy_pass http://clightning_bitcoin_spark:9737/;
}
{{ end }}
{{ if (eq $serviceName "clightning_bitcoin_charge") }}
location /lightning-charge/btc/ {
proxy_pass http://clightning_bitcoin_charge:9112/;
}
{{ end }}
{{ if (eq $serviceName "clightning_groestlcoin_spark") }}
location /spark/grs/ {
proxy_pass http://clightning_groestlcoin_spark:9739/;
}
{{ end }}
{{ if (eq $serviceName "clightning_groestlcoin_charge") }}
location /lightning-charge/grs/ {
proxy_pass http://clightning_groestlcoin_charge:9112/;
}
{{ end }}
{{ end }}
{{ end }}
{{ if eq $host_name "librepatron" }}
{{ range $container := $ }}
{{ $serviceName := (index $container.Labels "com.docker.compose.service") }}
{{ if (eq $serviceName "isso") }}
location /isso {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Script-Name /isso;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://isso:8080;
}
{{ end }}
{{ end }}
{{ end }}
{{ template "redirects" (dict "HostName" $host_name "Containers" $) }}
}
{{ end }}

Loading…
Cancel
Save