by mmlkrx on 7/19/16, 6:27 AM with 74 comments
by aexaey on 7/19/16, 8:37 AM
On the other hand, there are still some gaping holes - for example, to block (or allow) a 192.168.0.0/17 IPv4 subnet in Caddy, one needs to do all of below:
- Install an addon [1];
- Which used to require recompilation, with 0.9 release you can just click an option during download, yay!;
- Add 128 ranges to cover this single subnet: 192.168.0.0-255, 192.168.1.0-255, ...192.168.127.0-255. Configuration doesn't support subnets, only ranges. And only ranges in last octet, i.e. 192.168.1.0-255 (meaning 192.168.1.0/24), or implied ranges by trailing octet(s) omission, i.e. 192.168 (meaning 192.168.0.0/16) [2].
Oh, and ipv6 filtering doesn't exist at all.
[1] https://caddyserver.com/docs/ipfilter
[2] Which is mildly confusing notation too, since traditional UNIX inet_aton() call would interpret this as 192.0.0.168. Try typing "ping 192.168" on Linux.
by Mojah on 7/19/16, 12:24 PM
by djvdorp on 7/19/16, 8:30 AM
by embik on 7/19/16, 7:34 AM
by nemothekid on 7/19/16, 3:00 PM
by dvdplm on 7/19/16, 7:50 AM
by namsral on 7/19/16, 12:47 PM
What if you could slap something like Caddy in front of any API and provide authentication, analytics even billing out of the box.
- Rate limiting
- Billing
- Authentication and Authorization using OAuth or JWT
- Analytics/Metrics
- Geo Location
- TLS
- HTTP2?
- Image optimization
- Content minification
- Gzip
- Signaling Slack/Push/SMS
- Caching through cloud storage S3, BlackBlaze B2
- PostgREST
by regecks on 7/19/16, 8:50 AM
Of course, this makes sense because you have to compile the features in.
But, it would still be nice to have deployment automate-able. Maybe an Ansible role that combines the feature list you need and downloads it via an API.
It's the major, and only reason I quit and went back to nginx.
by electic on 7/19/16, 7:28 AM
by ciconia on 7/19/16, 4:02 PM
by Siecje on 7/19/16, 3:49 PM
So a request to a protected resource needs to be authenticated if not then redirect to a URL (login form).
If login is successful then a token is provided which can be used for authentication.
If a request is authenticated successfully then it can proxy to the resource.
by unethical_ban on 7/19/16, 2:36 PM
by kylemathews on 7/19/16, 5:50 PM
by eberkund on 7/19/16, 3:33 PM