diff --git a/mantle.yml b/mantle.yml index 3aa51785..dafa15a3 100644 --- a/mantle.yml +++ b/mantle.yml @@ -54,23 +54,27 @@ services: - 30303 networks: - chains - labels: - - "traefik.enable=true" - - - "traefik.http.middlewares.mantle-ws-stripprefix.stripprefix.prefixes=/mantle-ws" - - "traefik.http.services.mantle-ws.loadbalancer.server.port=8546" - - "traefik.http.routers.mantle-ws.entrypoints=websecure" - - "traefik.http.routers.mantle-ws.tls.certresolver=myresolver" - - "traefik.http.routers.mantle-ws.service=mantle" - - "traefik.http.routers.mantle-ws.rule=Host(`$DOMAIN`) && PathPrefix(`/mantle-ws`)" - - "traefik.http.routers.mantle-ws.middlewares=mantle-ws-stripprefix, ipwhitelist" + mantle-proxy: + restart: unless-stopped + image: nginx + expose: + - 80 + environment: + PROXY_HOST: mantle + RPC_PORT: 8545 + WS_PORT: 8546 + networks: + - chains + volumes: + - ./nginx-proxy:/etc/nginx/templates + labels: + - "traefik.enable=true" - "traefik.http.middlewares.mantle-stripprefix.stripprefix.prefixes=/mantle" - - "traefik.http.services.mantle.loadbalancer.server.port=8545" + - "traefik.http.services.mantle.loadbalancer.server.port=80" - "traefik.http.routers.mantle.entrypoints=websecure" - - "traefik.http.routers.mantle.tls.certresolver=myresolver" - - "traefik.http.routers.mantle.service=mantle" - - "traefik.http.routers.mantle.rule=Host(`$DOMAIN`) && PathPrefix(`/mantle`)" + - "traefik.http.routers.mantle.tls.certresolver=myresolver" + - "traefik.http.routers.mantle.rule=Host(`$DOMAIN`) && PathPrefix(`/mantle`)" - "traefik.http.routers.mantle.middlewares=mantle-stripprefix, ipwhitelist" diff --git a/nginx-proxy/default.conf.template b/nginx-proxy/default.conf.template new file mode 100644 index 00000000..239c52dc --- /dev/null +++ b/nginx-proxy/default.conf.template @@ -0,0 +1,17 @@ +server { + listen 80; + server_name frontend; + + location = / { + proxy_pass http://${PROXY_HOST}:${RPC_PORT}; + } + + location /ws { + proxy_pass http://${PROXY_HOST}:${WS_PORT}; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + } +} \ No newline at end of file diff --git a/zkevm.yml b/zkevm.yml index 6e685cd0..e2987b78 100644 --- a/zkevm.yml +++ b/zkevm.yml @@ -31,30 +31,29 @@ services: - "/app/zkevm-node run --network mainnet --cfg /app/config.toml --components rpc" networks: - chains - labels: - - "traefik.enable=true" - - - "traefik.http.middlewares.zkevm-ws-stripprefix.stripprefix.prefixes=/zkevm-ws" - - "traefik.http.services.zkevm-ws.loadbalancer.server.port=8546" - - "traefik.http.routers.zkevm-ws.entrypoints=websecure" - - "traefik.http.routers.zkevm-ws.tls.certresolver=myresolver" - - "traefik.http.routers.zkevm-ws.service=zkevm" - - "traefik.http.routers.zkevm-ws.rule=Host(`$DOMAIN`) && PathPrefix(`/zkevm-ws`)" - - "traefik.http.routers.zkevm-ws.middlewares=zkevm-ws-stripprefix, ipwhitelist" + zkevm-proxy: + restart: unless-stopped + image: nginx + expose: + - 80 + environment: + PROXY_HOST: zkevm + RPC_PORT: 8545 + WS_PORT: 8546 + networks: + - chains + volumes: + - ./nginx-proxy:/etc/nginx/templates + labels: + - "traefik.enable=true" - "traefik.http.middlewares.zkevm-stripprefix.stripprefix.prefixes=/zkevm" - - "traefik.http.services.zkevm.loadbalancer.server.port=8545" + - "traefik.http.services.zkevm.loadbalancer.server.port=80" - "traefik.http.routers.zkevm.entrypoints=websecure" - - "traefik.http.routers.zkevm.tls.certresolver=myresolver" - - "traefik.http.routers.zkevm.service=zkevm" - - "traefik.http.routers.zkevm.rule=Host(`$DOMAIN`) && PathPrefix(`/zkevm`)" + - "traefik.http.routers.zkevm.tls.certresolver=myresolver" + - "traefik.http.routers.zkevm.rule=Host(`$DOMAIN`) && PathPrefix(`/zkevm`)" - "traefik.http.routers.zkevm.middlewares=zkevm-stripprefix, ipwhitelist" - #- "prometheus-scrape.enabled=true" - #- "prometheus-scrape.port=6060" - #- "prometheus-scrape.job_name=zkevm" - #- "prometheus-scrape.metrics_path=/debug/metrics/prometheus" - zkevm-sync: restart: unless-stopped