An example app on earl.ee

Vite + React, extended, running on earl.ee.

This app was built from its Dockerfile and deployed with git push, the same way as every other app on the platform.

Framework
Vite + React
Built as
static build, served by Caddy
Answering at
vite-react-extended-0141.earlee.app
Listens on
port 3000, HTTPS
A request travels from the browser over HTTPS to the earl.ee router, which passes it to this app's container on port 3000. Browser you HTTPS earl.ee router certificate, TLS :3000 This container Caddy
Your request reached this page over HTTPS. The platform holds the certificate and passes the request to the container on port 3000; the app reads its address from the request.

What Vite + React does here

What end-to-end TLS does here

Between the earl.ee router and this container, the request travels over TLS as well. The router checks this container’s certificate before it passes anything on.

Two paths compared. By default a request goes from the browser over HTTPS to Caddy, over mutual TLS to the earl.ee router, and over plain HTTP to the container. For this app the last step is TLS as well. BY DEFAULT Browser HTTPS Caddy mTLS earl.ee router HTTP Container THIS APP Browser HTTPS Caddy mTLS earl.ee router TLS This container Two paths compared. By default a request goes from the browser over HTTPS to Caddy, over mutual TLS to the earl.ee router, and over plain HTTP to the container. For this app the last step is TLS as well. BY DEFAULT Browser HTTPS Caddy mTLS earl.ee router HTTP Container THIS APP Browser HTTPS Caddy mTLS earl.ee router TLS This container

Measured by this app, for this request

Scheme
https

Caddy, which serves this app, does not pass its certificate to the page, so only the scheme is measured here.

Stated by the platform