-
Notifications
You must be signed in to change notification settings - Fork 20
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create a reverse proxy server #250
Comments
Of the available libraries for implementing a reverse proxy, hyper-reverse-proxy seems like the most accurate (removing hop-by-hop headers including those in We should also set We'll need some storage/sync mechanism for ACME & OCSP. We could use routerify for the non-proxied URLs (cert-chain+cbor and validity), but we'll need to test well that it avoids inner URL != outer URL bugs that plagued several Go routers. Alternatively, we could build our own simple router using something like RegexSet or trie_rs Alternatives considered include: |
Another server exists in |
To start with, I'll implement it with file storage, for the basic "run a server on a VM" case. I split off #276 for Google Cloud Run support. |
@antiphoton @quangIO It appears hyper requires async fns to implement
Options to solve this:
I'm leaning towards 3 where possible, falling back to 2 for less pervasive types. However, I'm not an expert in Rust. Would appreciate your opinions. It seems @quangIO was considering 2 in #278; what are the implications for WasmWorker? |
I would suggest constructing |
I'm already attempting to construct it inside the closure passed to [1] In particular, it's not the call to |
I'll give it another day of effort, but if that fails, I may just try I found myself wanting for language features:
|
In WebAssembly applications with We may consider using the conditional compilation in Rust (like pre-defined macro in C++), and declare |
Oh, really good idea. |
TODO: Refactor this pattern from #314 into a macro in utils: #[cfg_attr(feature = "wasm", async_trait(?Send))]
#[cfg_attr(not(feature = "wasm"), async_trait)] |
Abandoning the attribute macro idea, as the maintenance overhead is not worth the benefit. It would require an additional |
Create a reverse proxy server in Rust, similar to Web Packager Server as a wrapper around the
sxg_rs
library. This could be run as a typical server or as a service on Google Cloud Run (see docs).The text was updated successfully, but these errors were encountered: