sandstorm-io / sandstorm

Sandstorm is a self-hostable web productivity suite. It's implemented as a security-hardened web app package manager.
https://sandstorm.io
Other
6.74k stars 705 forks source link

docs: We need to mention why Let's Encrypt can't work #2182

Closed paulproteus closed 8 years ago

paulproteus commented 8 years ago

Context:

Proposal:

voidplayer commented 8 years ago

certbot for main domain and sandcats wildcard cert for the random domains using a reverse proxy is some optimal configuration using certbot for those who want to go the extra mile configuring it

paulproteus commented 8 years ago

I am under the impression that if you do this, the grain-frames will not be able to set their cookies if the user has "block third-party cookies" enabled in e.g. Chrome: https://support.google.com/chrome/answer/95647

I believe that's a somewhat common configuration, but who knows, but if people try it, now you know one possible reason it might not work.

voidplayer commented 8 years ago

Good catch!

It works on firefox because I guess it doenst block third party cookies

I was using cookie monster that block third party cookies and doesnt allow you to white list a domain, just allow them globally. Im a heavy firefox profile user and so I created a profile without cookie monster for sandstorm and it works for me(tm)

If you are willing to go the extra mile configuring it, i believe its an optimal configuration for self-hosting, since it allows you to have a cert for your own domain and the wildcard are only used with websockets (virtually invisible for the final user)

At least until wildcard certs are available from certbot (hint: they are not even in their roadmap). Startssl have tools to autogenerate wildcard certs right now (similar to what certbot does), but they ask you a lot of data beyond proving you are in control of the domain, which make them useless to me

paulproteus commented 8 years ago

Thanks!

Do note that the wildcard hosts are also used for regular HTTP, not just WebSockets; see also https://docs.sandstorm.io/en/latest/developing/path/ .

kentonv commented 8 years ago

Ironically, in the early days of Sandstorm we primarily saw this problem on Firefox (which seemed to block third-party cookies by default) and not on Chrome (which didn't, at the time).

xet7 commented 8 years ago

@paulproteus @kentonv

Now that Caddy 0.9 supports Wildcard SSL with max_certs option added, would it be possible to use Sandstorm with Caddy?

https://caddyserver.com/docs/tls

https://forum.caddyserver.com/t/wildcard-automatic-ssl-certificates/355

zarvox commented 8 years ago

@xet7 It's possible that you'd be able to set it up, but I recommend against doing so because:

Dynamic provisioning of per-hostname certs really isn't viable here.

nbraud commented 8 years ago

@xet7 To complete @zarvox's reply: those are not wildcard certs: Caddy just acquires the cert on-demand

xet7 commented 8 years ago

@zarvox

Would it be possible to use Caddy instead of sniproxy in front of Sandstorm, so that Caddy would use sandcats.io SSL cert for sandcats subdomains in Caddyfile TLS options , and then have some Caddy Let's Encrypt domains proxy to Sandstorm grain WordPress static hosting files and SandForms survey pages?

paulproteus commented 8 years ago

Hi @xet7 ,

It looks like using caddy instead of sniproxy would be totally fine, for static publishing domains!

voidplayer commented 7 years ago

wildcard certificates are coming to certbot jan next year!

https://letsencrypt.org/2017/07/06/wildcard-certificates-coming-jan-2018.html

ocdtrekkie commented 7 years ago

@voidplayer Yup! We've got a thread on sandstorm-dev about it already :D