Browser can't reach the LAN-only btcdata WebSocket when accessing btcprice remotely (Tailscale/Cloudflare Tunnel). Add a /ws/price proxy route that relays btcdata frames to the browser so only btcprice needs to be reachable. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44 lines
1.2 KiB
Clojure
44 lines
1.2 KiB
Clojure
{:system/env #profile {:dev :dev :test :test :prod :prod}
|
|
|
|
:server/http
|
|
{:port #long #or [#env PORT 4000]
|
|
:host #or [#env HTTP_HOST "0.0.0.0"]
|
|
:handler #ig/ref :handler/ring}
|
|
|
|
:handler/ring
|
|
{:router #ig/ref :router/core
|
|
:api-path "/api"
|
|
:site-defaults-config
|
|
{:params {:keywordize true
|
|
:multipart true
|
|
:nested true}
|
|
:cookies true
|
|
:session {:flash true
|
|
:cookie-attrs {:http-only true
|
|
:same-site :strict}}
|
|
:security {:anti-forgery false
|
|
:xss-protection {:enable? true :mode :block}
|
|
:frame-options :sameorigin}
|
|
:static {:resources "public"}
|
|
:responses {:not-modified-responses true
|
|
:absolute-redirects true
|
|
:content-types true
|
|
:default-charset "utf-8"}}}
|
|
|
|
:router/routes
|
|
{:routes #ig/refset :reitit/routes}
|
|
|
|
:router/core
|
|
{:routes #ig/ref :router/routes
|
|
:env #ig/ref :system/env}
|
|
|
|
:reitit.routes/api
|
|
{:base-path "/api"}
|
|
|
|
:reitit.routes/ui
|
|
{:base-path ""}
|
|
|
|
:reitit.routes/ws-proxy
|
|
{:base-path ""
|
|
:btcdata-url #or [#env BTCDATA_URL "http://localhost:4100"]}}
|