sproxy v1.90.0 Release Notes
-
Sproxy2 is overhaul of original Sproxy 👀 (see also Hackage). Here are the key differences (with Sproxy 0.9.8):
Sproxy2 can work with remote PostgreSQL database. Quick access to the database is essential as sproxy does it on every HTTP request. Sproxy2 pulls data into local SQLite3 database.
At this release Sproxy2 is compatible with Sproxy database with one exception: SQL wildcards are not supported for HTTP methods. I. e. you have to change '%' in the database to specific methods like GET, POST, etc.
OAuth2 callback URLs changed: Sproxy2 uses
/.sproxy/oauth2/:provider
, e. g./.sproxy/oauth2/google
. Sproxy used/sproxy/oauth2callback
for Google and/sproxy/oauth2callback/linkedin
for LinkedIn.Sproxy2 does not allow login with email addresses not known to it.
Sproxy2: OAuth2 callback state is serialized, signed and passed base64-encoded. Of course it's used to verify the request is legit.
Sproxy2: session cookie is serialized, signed and sent base64-encoded.
Path
/.sproxy
belongs to Sproxy2 completely. Anything under this path is never passed to backends.Sproxy2 supports multiple backends. Routing is based on the Host HTTP header.
Sproxy2 uses WAI / Warp for incoming connections. As a result Sproxy2 supports HTTP2.
Sproxy2 uses HTTP Client to talk to backends. As a result Sproxy2 reuses backend connections instead of closing them after each request to the backend.
Sproxy2 optionally supports persistent key again (removed in Sproxy 0.9.2). This can be used in load-balancing multiple Sproxy2 instances.
Configuration file has changed. It's still YAML, but some options are renamed, removed or added. Have a look at well-documented [sproxy.example.yml](./sproxy.example.yml)