server { listen 80; listen [::]:80; server_name localhost; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ ^/eth/?([^/]*)$ { set $apiKey $1; if ($apiKey = '') { set $apiKey $http_X_API_KEY; } auth_request /auth; proxy_buffering off; rewrite /.*$ / break; proxy_pass http://fixturenet-eth-geth-1:8545; } location ~ ^/ipld/eth/([^/]*)$ { set $apiKey $1; if ($apiKey = '') { set $apiKey $http_X_API_KEY; } auth_request /auth; proxy_buffering off; rewrite /.*$ / break; proxy_pass http://ipld-eth-server:8081; } location ~ ^/ipld/gql/([^/]*)$ { set $apiKey $1; if ($apiKey = '') { set $apiKey $http_X_API_KEY; } auth_request /auth; proxy_buffering off; rewrite /.*$ / break; proxy_pass http://ipld-eth-server:8082; } location /beacon/ { set $apiKey $http_X_API_KEY; auth_request /auth; proxy_buffering off; proxy_pass http://fixturenet-eth-lighthouse-1:8001/; } location = /auth { internal; proxy_buffering off; resolver 127.0.0.11 ipv6=off; proxy_pass http://keycloak:8080/auth/realms/cerc/check?apiKey=$apiKey; proxy_pass_request_body off; proxy_set_header Content-Length ""; proxy_set_header X-Original-URI $request_uri; proxy_set_header X-Original-Remote-Addr $remote_addr; proxy_set_header X-Original-Host $host; } }